Skip to content

Add ispc tool from Intel#2826

Closed
svenevs wants to merge 1 commit intospack:developfrom
svenevs:ispc
Closed

Add ispc tool from Intel#2826
svenevs wants to merge 1 commit intospack:developfrom
svenevs:ispc

Conversation

@svenevs
Copy link
Copy Markdown
Member

@svenevs svenevs commented Jan 13, 2017

I am somewhat apprehensive with a full-blown llvm dependency, but to the best of my understanding ispc definitively requires the llvm codebase.

The ignore_libtinfo.patch is because their makefile is too zealous, and the second patch appears to be working but I have literally no idea how to test it since I don't actually know how to use ispc (yet!).

I opened an issue about the NVPTX stuff, but I'm pretty sure the patch I made works assuming the previous code base did. The second patch is just adding a bunch of ifdef stuff they did elsewhere in the file because the llvm functions changed between versions.

it needs to #include <gnu/stubs-32.h>).
"""
homepage = "http://ispc.github.io/"
url = "https://github.com/ispc/ispc/"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You should use the actual tarball for the URL. Then you won't have to specify it below:
https://github.com/ispc/ispc/archive/v1.9.1.tar.gz

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LOL I could have sworn I tried that first and never got it working, but that's definitely way better than my shenanigans.

# LLVM versions changed names / functions, this fixes them.
patch('update_llvm_functions_for_nvptx.patch', when="+nvptx")

depends_on('ncurses', type=("build", "link"))
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No need to specify the deptype here, it defaults to build/link.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok fine 🙃 just want to point out that as soon as I finally learned the whole nolink business, y'all got rid of it. The current defaults are build and link, but if you change em on me again it's on YOU adam

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think those will change any time soon.

P.S. The reason we got rid of nobuild was because it relies on there only being 3 deptypes. However, there are other deptypes we plan on adding. For example, a "test" deptype is necessary for dependencies that are only required if you need to run make check. Take a look at the lz4 package. It requires valgrind in order to run make check, but that's all it is really needed for. We don't want to always require it, only when a user builds with --run-tests. We will probably need build-test, link-test, and/or run-test deptypes to handle all possible situations. This would make nolink misleading because it implies that it is every deptype except link. The way I envision it, the dependency will be built if you run --run-tests, but not otherwise. And if you try building once with --run-tests and a second time without it, it should correctly detect that it is already installed. This will mean the test dep won't be encoded into the hash or RPATH.

@svenevs
Copy link
Copy Markdown
Member Author

svenevs commented Jan 13, 2017

Ok well the url you gave me is different somehow and the package doesn't compile. I have to go get my car from the shop, hopefully I can take a look at it later and reopen :/

@svenevs svenevs closed this Jan 13, 2017
@pramodskumbhar
Copy link
Copy Markdown
Contributor

@svenevs : I am interested in getting ispc into Spack. Are you working / would like update this PR?
Their wiki still refers to llvm 3.2. Are you building/using ispc? which llvm and ispc version?

@svenevs
Copy link
Copy Markdown
Member Author

svenevs commented Sep 10, 2017

Hey, I gave up on this one. I was able to get it to work locally but wasn't sure about too many things.

  1. I just rebased this branch on LLNL/develop, so it's currently 1 commit ahead if you want to use it.

    • Ok apparently somebody is merging up a storm here. So just use the approach below. Since it's a new package it shouldn't create any conflicts
  2. See the patch in this commit. I'm pretty sure I was using [email protected] and was able to get it to compile successfully. If I recall, I was actually diligent and searched through the LLVM docs to see when those function names changed.

  3. The download URL I had used (as per discussion above) was undesireable, but then as soon as I used the one that should be used it stopped working.

Since I had already compiled it locally and it was working just fine...I just kind of gave up. I don't actually use ISPC anymore though, and that dev machine is no longer in action so I can't say for sure what it was working with :/

TBH the easiest thing for you to do would be to just clone my repo and copy the files if you don't know how to cherry pick commits. So something like

$ cd /some/safe/path
$ git clone https://github.com/svenevs/spack.git
$ cd spack
$ git checkout ispc

Then just copy the var/spack/repos/builtin/packages/ispc folder into your spack. Happy hunting...

jpopelar pushed a commit to Tech-XCorp/spack that referenced this pull request Aug 4, 2021
…ork with MSVC, use -DTARGET=GENERIC for now
jpopelar pushed a commit to Tech-XCorp/spack that referenced this pull request Aug 12, 2021
…ork with MSVC, use -DTARGET=GENERIC for now
jpopelar pushed a commit to Tech-XCorp/spack that referenced this pull request Sep 22, 2021
…ork with MSVC, use -DTARGET=GENERIC for now
jpopelar pushed a commit to Tech-XCorp/spack that referenced this pull request Dec 29, 2021
…ork with MSVC, use -DTARGET=GENERIC for now
jpopelar pushed a commit to Tech-XCorp/spack that referenced this pull request Mar 31, 2022
…ork with MSVC, use -DTARGET=GENERIC for now
jpopelar pushed a commit to Tech-XCorp/spack that referenced this pull request Apr 15, 2022
…ork with MSVC, use -DTARGET=GENERIC for now
jpopelar pushed a commit to Tech-XCorp/spack that referenced this pull request Apr 15, 2022
…oesn't work with MSVC, use -DTARGET=GENERIC for now"

This reverts commit 0abe560.
jpopelar pushed a commit to Tech-XCorp/spack that referenced this pull request Jun 15, 2022
…ork with MSVC, use -DTARGET=GENERIC for now
jpopelar pushed a commit to Tech-XCorp/spack that referenced this pull request Jun 15, 2022
…oesn't work with MSVC, use -DTARGET=GENERIC for now"

This reverts commit 0abe560.
jpopelar pushed a commit to Tech-XCorp/spack that referenced this pull request Aug 9, 2022
…ork with MSVC, use -DTARGET=GENERIC for now
jpopelar pushed a commit to Tech-XCorp/spack that referenced this pull request Aug 9, 2022
…oesn't work with MSVC, use -DTARGET=GENERIC for now"

This reverts commit 0abe560.
jpopelar pushed a commit to Tech-XCorp/spack that referenced this pull request Aug 29, 2022
…ork with MSVC, use -DTARGET=GENERIC for now
jpopelar pushed a commit to Tech-XCorp/spack that referenced this pull request Aug 29, 2022
…oesn't work with MSVC, use -DTARGET=GENERIC for now"

This reverts commit 0abe560.
jpopelar pushed a commit to Tech-XCorp/spack that referenced this pull request Sep 7, 2022
…ork with MSVC, use -DTARGET=GENERIC for now
jpopelar pushed a commit to Tech-XCorp/spack that referenced this pull request Sep 7, 2022
…oesn't work with MSVC, use -DTARGET=GENERIC for now"

This reverts commit 0abe560.
jpopelar pushed a commit to Tech-XCorp/spack that referenced this pull request Sep 13, 2022
…ork with MSVC, use -DTARGET=GENERIC for now
jpopelar pushed a commit to Tech-XCorp/spack that referenced this pull request Sep 13, 2022
…oesn't work with MSVC, use -DTARGET=GENERIC for now"

This reverts commit 0abe560.
jpopelar pushed a commit to Tech-XCorp/spack that referenced this pull request Sep 23, 2022
…ork with MSVC, use -DTARGET=GENERIC for now
jpopelar pushed a commit to Tech-XCorp/spack that referenced this pull request Sep 23, 2022
…oesn't work with MSVC, use -DTARGET=GENERIC for now"

This reverts commit 0abe560.
jpopelar pushed a commit to Tech-XCorp/spack that referenced this pull request Sep 28, 2022
…ork with MSVC, use -DTARGET=GENERIC for now
jpopelar pushed a commit to Tech-XCorp/spack that referenced this pull request Sep 28, 2022
…oesn't work with MSVC, use -DTARGET=GENERIC for now"

This reverts commit 0abe560.
jpopelar pushed a commit to Tech-XCorp/spack that referenced this pull request Nov 16, 2022
…ork with MSVC, use -DTARGET=GENERIC for now
jpopelar pushed a commit to Tech-XCorp/spack that referenced this pull request Nov 16, 2022
…oesn't work with MSVC, use -DTARGET=GENERIC for now"

This reverts commit 0abe560.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants