Closed rrsettgast closed 5 years ago
How many configurations are you currently supporting? How many do you want to have? I would advocate Intel18 and a Pangea-like system.
There are about 5 right now. I want to have the minimum number to support the platforms we are targeting. Intel18 is a little hard to setup given that it has a license associated with it. I will have to try to use RAJA's license keys.
Intel would be nice to have since its not as robust as the other compilers and its needed for Cori.
If you plan on testing an OS X platform, we still have issues with the warnings as errors with clang 9 and 10. Mojave (OS X 10.14) also doesn't seem to be able to compile some of the TPLs (the error I see now is in HYPRE).
I'd like to maintain support for Clang 10, not just for me, but because all new Total employees will be equipped with a Mac similarly configured. Broadening up a bit, would it be a good time to rewrite the CMake files and get rid of the Python config scripting? Also, according to @AntoineMazuyer , the minimum requirements for certain TPL are quite high (versions above those that come with standard distributions).
The highest TPL requirement we saw was 3.9, and develop now also requires 3.9 for consistency.
sorry...what is clang10?
I am compiling everything with this version of AppleClang:
compiler identification is AppleClang 10.0.0.10001145
I had to turn off the "treat warning as errors" flag for GEOSX, though.
Apple's clang versions do not correspond to anything other than Xcode version they were shipped with... AFAIK AppleClang 9.0 was based on LLVM-4.0
I just reached out to our HPC team. Here is what they mentioned:
Current target platforms:
- x86_64
- ppc64le
- nvidia gpu
On OS side: redhat, centos, sles
Adding this info regarding the software environment:
On the software side: Compiler:
- Intel
- GCC
- clang MPI:
- Intel MPI
- OpenMPI
- Cray MPI
So here is what I am thinking for our CI platforms:
centos7.5 - clang4 (blueOS compilers based on clang4 ) centos7.5 - clang4 + nvcc (version 9.2+ or corresponding defaults available on LLNL/Sierra) centos7.5 - clang6 + nvcc (always the bleeding edge clang and nvcc available on LC) ubuntu18 - gcc7 centos7.5 - intel 18 (Cori and Pangea)
We can't really do an OSX build as the tpl builds require a docker image, and there is no OSX docker image. Perhaps someone can figure out if we can cache an osx image using TravisCI's native system. I would suggest that developers that use OSX as their primary dev platform should be cautious when updating develop in their branches, especially when the tpl's have updated.
I think that's a good selection.
Hi,
We are loop with Maximue Hugues our HPC guru in Houston. Based on our discussions he shares part of your conclusions but not all. We are trying to get him at our dev meeting but if he cannot make it we might postpone our final decision. Cheers, Alex
Maxime's input will be helpful, and it will be great to have him more directly involved. "Final" decision doesn't actually mean final. We will keep iterating to a good set that everyone is comfortable with. As new requirements come up, we can add and subtract platforms as needed.
Please just keep in mind that there is a distinction between the list of continuous integration platforms and the complete list of "supported" platforms. We will support a large set of platforms/compilers, but it only makes sense to do build tests on a representative subset. Currently it takes ~20 minutes to build and pass the CI tests, which is already too long. There are also inherent Travis and license issues that limit the available CI options. Our goal here is to get a good cross-section of platforms that will expose potential build issues quickly. We also need to identify a champion for each platform, who can take the lead when build issues arise on a given configuration.
Is your feature request related to a problem? Please describe. I would like reduce the number of tests configurations run as part of our CI testing. Lets get a good discussion of what we actually care about.
Describe the solution you'd like I propose we support ubuntu18 - gcc7 (this is the default compiler for that platform) centos (version mirror LC toss3 redhat install)