-
Notifications
You must be signed in to change notification settings - Fork 723
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Please support Intel compilers. #4604
Comments
I just want to chime in to strongly support this request! If something can be done to provide ICC as a target compiler in Travis, that would be great! |
I'm not sure we can do this for license reasons (icc is only free for non-commercial projects). |
+1 for ICC There could be expressed statement from user that the project is non-commercial, so it should be possible. If the user would lie, they could be prosecuted for fraud and violation of policy, terminating account, lawsuit, etc... |
please, see this thread: https://software.intel.com/en-us/forums/topic/564473 |
PS: I am sorry for cross-posting, but I believe this one is in its right place so we can make a progress... |
Intel has a "Open Source Contributor" license, free of cost, maybe contact Intel to see if you can obtain that to support Intel compilers? https://software.intel.com/en-us/articles/open-source-contributor-faq |
As we use the same VMs for .org and .com (public and private) repos, pre-installing this would mean we would potentially be breaking the Open Source Contributor license. |
I recognise that the issues around this are complex, but would like to add myself to the people hoping for it to happen regardless. Our installation at least uses the Flex license manager: what if the binaries were available to add to the image but users had to make arrangements to let the instance contact a relevant license server? Would that suit people's compliance and use needs? (I don't know whether you can use an open-source contributor license with the server-mode license manager.) |
I've been working on a script to download and install ICC on Travis. I've actually managed to get pretty close (I think I just need to figure out which components contain the missing libraries and install them), but I'm not sure when I'll have time to finish. |
I work for Intel in a research capacity and will engage my colleagues who make software for a living on this issue in January once everyone is back in the office. For the Intel compilers, my hope is that there is a way to have the binaries installed but still require license keys, which would be encrypted. On a related note, it would be nice if Travis could support MKL, IPP and DAAL since all of these (and TBB) are freely available to all via Community Licensing. I imagine that MKL would be wildly popular with the scientific types. I will create a new issue about this now. |
Thank you @jeffhammond! |
FWIW that's what the script I mentioned above does. It should be a good starting point; it's a bit messy, but someone familiar with how the compiler is structured (which environment variables need to be set, which modules are necessary, etc.) should be able to clean it up quite nicely. For MKL/IPP/DAAL/TBB, that script is designed to support them (just pass, for example, That said, if MKL/IPP/DAAL/TBB are redistributable, a better way might be to create an apt repository. I'm not sure Launchpad allows non-free software so a PPA may not be possible, but I think bintray would work. Of course it would be great if it were in RPM Fusion, too, but that's not really related to Travis. |
@nemequ Indeed, I saw your project and have already forked it with the intent of getting it to work. If I cannot get things working easily enough, I will request the necessary changes in a future release. Ideally, Travis would just add Intel tools to Having MKL/IPP/DAAL/TBB in a repo is ideal, and that was already on my list of things to suggest to my colleagues who manage the free software program. |
Okay, let me know if you have any questions. Email is fine, or you can /msg me on freenode or gimpnet. Or, of course, you can file an issue.
I don't think this is really too much of an issue; Travis seems to cache this stuff pretty heavily. When I was playing with the repo the builds were actually pretty quick, unless I didn't fire one off for a few hours in which case downloading took a long time. You can see the differences in times in the build history… If you (or anyone) can get it working properly and projects actually start using it I'm sure it would pretty much always be cached on Travis' infrastructure.
That would be great. I know I'd be much more willing to use them in a project if there were packages available for Debian and Fedora. I actually had a Squash plugin for some of the compression stuff in IPP a while back, but I removed it because it was a pain to maintain. |
The script at https://github.com/nemequ/icc-travis now works. |
I just wanted to check in here and see if there was any update on Intel allowing/providing or Travis providing access to MKL/VML (and the like) on Travis CI? I work on a number of open-source HPC projects on Github where access to MKL on Travis would be a game-changer. |
@rprechelt Sorry, I haven't had time to address this. I know six months is a long time, but my queue is deep. I have not forgotten about this and will try to set something up with the right people in a few weeks. FWIW, I think @nemequ did a wonderful thing showing how to install Intel compilers from within Travis. |
MKL & other intel library shared libraries are now installable with apt-get/yum No header files yet. |
@rscohn2 Fantastic! I really hoped that we would do this. What's the ETA for headers? C/C++ projects that call MKL functions outside of the standard BLAS/LAPACK will need |
Uhh... 😃 then we should open a PR to add those repos to the apt |
Many HPC folks are still waiting to see travis-ci/apt-package-safelist#406 resolved after 1.5 years of intense interest from users. I have no confidence that Travis whitelisting will occur in finite time 😞 |
Honestly, just partition your travis build environments from source via spack for HPC applications and cache it. |
@ax3l I just build everything from source manually, which is a trivial extension of the scripting infrastructure I have for non-Travis purposes. It just frustrates me that Travis won't make MPICH a first-class citizen in their ecosystem even though they whitelist packages that depend on MPICH and whitelist Open-MPI, which does all of the same things that MPICH does. |
@jeffhammond I totally feel your pain. But to be fair, the packages for MPICH seem to use Update: I just checked the build and your comments... yeah, aww... |
@ax3l Please see travis-ci/apt-package-safelist#406 (comment) for analysis of |
Yep, and it's well argued. I think they just automate their workflows heavily since they get tons of requests and offer a free service to the public. |
As a developer of a number of open source projects at Lawrence Livermore National Lab, I wanted to add my +1 to this request. Lots of our projects prefer to use vendor compilers, so being able to test with these but also use the Travis infrastructure would be a big plus. |
Thanks for contributing to this issue. As it has been 90 days since the last activity, we are automatically closing the issue. This is often because the request was already solved in some way and it just wasn't updated or it's no longer applicable. If that's not the case, please do feel free to either reopen this issue or open a new one. We'll gladly take a look again! You can read more here: https://blog.travis-ci.com/2018-03-09-closing-old-issues |
Can someone (perhaps @ehiggs) please reopen this? 90 days without activity does not a solution make, despite what simple-minded bots may think. |
@rkh Could you please revive this? |
We have published samples for all the public CI systems: |
Hi there,
A lot of open source HPC code is built using travis with gcc and clang since it's a great resource. But then the projects are built for the actual HPC deployment, they use icc. This means the continuous integration is not building with the actual compiler that ends up being used. Not ideal!
I understand there may be licensing issues, but appveoyr provides MSVC as a compiler so maybe something can be done.
The text was updated successfully, but these errors were encountered: