Conversation
Disabling OCCA because backend updates did not make this release and there are some known bugs so most users won't have reason to use OCCA. CEED/libCEED#688
* MFEM package updates * mfem: flake8 * [mfem] Various fixes and tweaks. [arpack-ng] Add a patch to fix building with IBM XL Fortran. [libceed] Fix building with IBM XL C/C++. [pumi] Add C++11 flag for version 2.2.3. * [mfem] Fix the shared CUDA build. Reported by: @MPhysXDev * [mfem] Fix a TODO item * [mfem] Tweak the AmgX dependencies * [suite-sparse] Fix the version of the mpfr dependency * MFEM: add initial HIP support using the ROCmPackage. * MFEM: add 'slepc' variant. * MFEM: update the patch for v4.2 for SLEPc. * mfem: apply 'mfem-4.2-slepc.patch' just to v4.2.
[laghos] Add laghos version 3.1 based on the latest commit in
the repository; this version works with mfem v4.2.
[ceed] For ceed v4.0 use laghos v3.1.
[ceed] Use pumi v2.2.5 with ceed v4.0.0.
Use [email protected]+rocm with [email protected]+mfem+hip.
|
Latest commit worked fine on Lassen with gcc v8.3.1 with ./bin/spack install ceed+cuda ^magma cuda_arch=70 ^mfem cuda_arch=sm_70 |
|
The NekRS package seems to have both Ping: @thilinarmtb. On a similar topic: I think wee should add a Ping: @dmed256. |
|
TODO:
|
| depends_on('[email protected]~rocm', when='@4.0.0~rocm') | ||
| for target in ROCmPackage.amdgpu_targets: | ||
| depends_on('[email protected]+rocm amdgpu_target={0}'.format(target), | ||
| when='@4.0.0+rocm amdgpu_target={0}'.format(target)) |
There was a problem hiding this comment.
@becker33 Is this what you meant when you said (on Slack) that the variant needs to be forwarded to each dependent package? The spec makes sense with this change, though it's tedious going and all the BundlePackages would need this treatment.
'cuda_arch' values should not include the 'sm_' prefix.
Also, propagate 'cuda_arch' and 'amdgpu_target' variants
to enabled dependencies.
| if '+cuda' in spec: | ||
| cxxflags += [ | ||
| '-x=cu --expt-extended-lambda -arch=%s' % cuda_arch, | ||
| '-x=cu --expt-extended-lambda -arch=sm_%s' % cuda_arch, |
There was a problem hiding this comment.
I think Todd describes this flag as being handled automatically by the compiler wrappers when using CudaPackage.
There was a problem hiding this comment.
This is a flag for nvcc -- I don't think spack has a wrapper for that -- unless that is a recent addition.
|
The following install worked fine on Lassen (with gcc-8.3.1 and various other customizations in ./bin/spack install ceed+cuda cuda_arch=70 |
tzanio
left a comment
There was a problem hiding this comment.
Thank you @v-dobrev, @jedbrown and @thilinarmtb !
|
We plan to merge this on Wednesday (06/02/21). Please speak up if you have feedback or concerns. |
|
@jedbrown, can you resolve the conflict in petsc so we can merge? |
Resolve petsc conflict on new hwloc and openmp variants.
jedbrown
left a comment
There was a problem hiding this comment.
This should be good to merge once tests pass.
* petsc: add hip variant * libceed: add 0.8, disable occa by default, and let autodetect AVX Disabling OCCA because backend updates did not make this release and there are some known bugs so most users won't have reason to use OCCA. CEED/libCEED#688 * WIP: ceed: 4.0 release * MFEM package updates (spack#19748) * MFEM package updates * mfem: flake8 * [mfem] Various fixes and tweaks. [arpack-ng] Add a patch to fix building with IBM XL Fortran. [libceed] Fix building with IBM XL C/C++. [pumi] Add C++11 flag for version 2.2.3. * [mfem] Fix the shared CUDA build. Reported by: @MPhysXDev * [mfem] Fix a TODO item * [mfem] Tweak the AmgX dependencies * [suite-sparse] Fix the version of the mpfr dependency * MFEM: add initial HIP support using the ROCmPackage. * MFEM: add 'slepc' variant. * MFEM: update the patch for v4.2 for SLEPc. * mfem: apply 'mfem-4.2-slepc.patch' just to v4.2. * ceed: apply 'spack style' * [mfem] Add a patch for mfem v4.2 to work with petsc v3.15.0. [laghos] Add laghos version 3.1 based on the latest commit in the repository; this version works with mfem v4.2. [ceed] For ceed v4.0 use laghos v3.1. * [libceed] Explicitly set 'CC_VENDOR=icc' when using 'intel' compiler. * [mfem] Allow pumi >= 2.2.3 with mfem >= 4.2.0. [ceed] Use pumi v2.2.5 with ceed v4.0.0. * [ceed] Explicitly use occa v1.1.0 with ceed v4.0.0. Use [email protected]+rocm with [email protected]+mfem+hip. * [ceed] Add NekRS v21 as a dependency for ceed v4.0.0. * [ceed] Fix NekRS version: 21 --> 21.0 * [ceed] Propagate +cuda variant to petsc for ceed v4.0. * [mfem] Propagate '+rocm' variant to some other packages. * [ceed] Use +rocm variant of nekrs instead of +hip. * [ceed] Do not enable magma with [email protected]+hip. * [libceed] Fix hip build with [email protected]. * [laghos] For v3.1, use the release .tar.gz file instead of commit. * Remove cuda & hip variants as they are inherited * [ceed] Remove comments and FIXMEs about 'magma+hip'. * [ceed] [libceed] Remove TODOs about occa + hip. * libceed: use ROCmPackage and +rocm * petsc: use ROCmPackage for HIP * libceed, petsc: use CudaPackage * ceed: forward cuda_arch and amdgpu_target * [mfem] Use Spack's CudaPackage as a base class; as a result, 'cuda_arch' values should not include the 'sm_' prefix. Also, propagate 'cuda_arch' and 'amdgpu_target' variants to enabled dependencies. * petsc: variant is +rocm, package name is hip Co-authored-by: Jed Brown <[email protected]> Co-authored-by: Thilina Rathnayake <[email protected]>
* petsc: add hip variant * libceed: add 0.8, disable occa by default, and let autodetect AVX Disabling OCCA because backend updates did not make this release and there are some known bugs so most users won't have reason to use OCCA. CEED/libCEED#688 * WIP: ceed: 4.0 release * MFEM package updates (spack#19748) * MFEM package updates * mfem: flake8 * [mfem] Various fixes and tweaks. [arpack-ng] Add a patch to fix building with IBM XL Fortran. [libceed] Fix building with IBM XL C/C++. [pumi] Add C++11 flag for version 2.2.3. * [mfem] Fix the shared CUDA build. Reported by: @MPhysXDev * [mfem] Fix a TODO item * [mfem] Tweak the AmgX dependencies * [suite-sparse] Fix the version of the mpfr dependency * MFEM: add initial HIP support using the ROCmPackage. * MFEM: add 'slepc' variant. * MFEM: update the patch for v4.2 for SLEPc. * mfem: apply 'mfem-4.2-slepc.patch' just to v4.2. * ceed: apply 'spack style' * [mfem] Add a patch for mfem v4.2 to work with petsc v3.15.0. [laghos] Add laghos version 3.1 based on the latest commit in the repository; this version works with mfem v4.2. [ceed] For ceed v4.0 use laghos v3.1. * [libceed] Explicitly set 'CC_VENDOR=icc' when using 'intel' compiler. * [mfem] Allow pumi >= 2.2.3 with mfem >= 4.2.0. [ceed] Use pumi v2.2.5 with ceed v4.0.0. * [ceed] Explicitly use occa v1.1.0 with ceed v4.0.0. Use [email protected]+rocm with [email protected]+mfem+hip. * [ceed] Add NekRS v21 as a dependency for ceed v4.0.0. * [ceed] Fix NekRS version: 21 --> 21.0 * [ceed] Propagate +cuda variant to petsc for ceed v4.0. * [mfem] Propagate '+rocm' variant to some other packages. * [ceed] Use +rocm variant of nekrs instead of +hip. * [ceed] Do not enable magma with [email protected]+hip. * [libceed] Fix hip build with [email protected]. * [laghos] For v3.1, use the release .tar.gz file instead of commit. * Remove cuda & hip variants as they are inherited * [ceed] Remove comments and FIXMEs about 'magma+hip'. * [ceed] [libceed] Remove TODOs about occa + hip. * libceed: use ROCmPackage and +rocm * petsc: use ROCmPackage for HIP * libceed, petsc: use CudaPackage * ceed: forward cuda_arch and amdgpu_target * [mfem] Use Spack's CudaPackage as a base class; as a result, 'cuda_arch' values should not include the 'sm_' prefix. Also, propagate 'cuda_arch' and 'amdgpu_target' variants to enabled dependencies. * petsc: variant is +rocm, package name is hip Co-authored-by: Jed Brown <[email protected]> Co-authored-by: Thilina Rathnayake <[email protected]>
Version 4.0 of the CEED package collection.