diff --git a/o/OpenMPI/OpenMPI-1.10.1-GCC-4.9.3-2.25.eb b/archive/OpenMPI/OpenMPI-1.10.1-GCC-4.9.3-2.25.eb similarity index 100% rename from o/OpenMPI/OpenMPI-1.10.1-GCC-4.9.3-2.25.eb rename to archive/OpenMPI/OpenMPI-1.10.1-GCC-4.9.3-2.25.eb diff --git a/o/OpenMPI/OpenMPI-1.10.1-GNU-4.9.3-2.25.eb b/archive/OpenMPI/OpenMPI-1.10.1-GNU-4.9.3-2.25.eb similarity index 100% rename from o/OpenMPI/OpenMPI-1.10.1-GNU-4.9.3-2.25.eb rename to archive/OpenMPI/OpenMPI-1.10.1-GNU-4.9.3-2.25.eb diff --git a/o/OpenMPI/OpenMPI-1.10.2-GCC-4.9.3-2.25.eb b/archive/OpenMPI/OpenMPI-1.10.2-GCC-4.9.3-2.25.eb similarity index 100% rename from o/OpenMPI/OpenMPI-1.10.2-GCC-4.9.3-2.25.eb rename to archive/OpenMPI/OpenMPI-1.10.2-GCC-4.9.3-2.25.eb diff --git a/o/OpenMPI/OpenMPI-1.10.2-GCC-5.3.0-2.26.eb b/archive/OpenMPI/OpenMPI-1.10.2-GCC-5.3.0-2.26.eb similarity index 100% rename from o/OpenMPI/OpenMPI-1.10.2-GCC-5.3.0-2.26.eb rename to archive/OpenMPI/OpenMPI-1.10.2-GCC-5.3.0-2.26.eb diff --git a/o/OpenMPI/OpenMPI-1.10.2-GCC-6.1.0-2.27.eb b/archive/OpenMPI/OpenMPI-1.10.2-GCC-6.1.0-2.27.eb similarity index 100% rename from o/OpenMPI/OpenMPI-1.10.2-GCC-6.1.0-2.27.eb rename to archive/OpenMPI/OpenMPI-1.10.2-GCC-6.1.0-2.27.eb diff --git a/o/OpenMPI/OpenMPI-1.10.2-PGI-16.3-GCC-4.9.3-2.25.eb b/archive/OpenMPI/OpenMPI-1.10.2-PGI-16.3-GCC-4.9.3-2.25.eb similarity index 100% rename from o/OpenMPI/OpenMPI-1.10.2-PGI-16.3-GCC-4.9.3-2.25.eb rename to archive/OpenMPI/OpenMPI-1.10.2-PGI-16.3-GCC-4.9.3-2.25.eb diff --git a/o/OpenMPI/OpenMPI-1.10.2-PGI-16.4-GCC-5.3.0-2.26.eb b/archive/OpenMPI/OpenMPI-1.10.2-PGI-16.4-GCC-5.3.0-2.26.eb similarity index 100% rename from o/OpenMPI/OpenMPI-1.10.2-PGI-16.4-GCC-5.3.0-2.26.eb rename to archive/OpenMPI/OpenMPI-1.10.2-PGI-16.4-GCC-5.3.0-2.26.eb diff --git a/o/OpenMPI/OpenMPI-1.10.3-GCC-4.9.3-2.25.eb b/archive/OpenMPI/OpenMPI-1.10.3-GCC-4.9.3-2.25.eb similarity index 100% rename from o/OpenMPI/OpenMPI-1.10.3-GCC-4.9.3-2.25.eb rename to archive/OpenMPI/OpenMPI-1.10.3-GCC-4.9.3-2.25.eb diff --git a/o/OpenMPI/OpenMPI-1.10.3-GCC-6.1.0-2.27.eb b/archive/OpenMPI/OpenMPI-1.10.3-GCC-6.1.0-2.27.eb similarity index 100% rename from o/OpenMPI/OpenMPI-1.10.3-GCC-6.1.0-2.27.eb rename to archive/OpenMPI/OpenMPI-1.10.3-GCC-6.1.0-2.27.eb diff --git a/o/OpenMPI/OpenMPI-1.10.4-PGI-16.7-GCC-5.4.0-2.26.eb b/archive/OpenMPI/OpenMPI-1.10.4-PGI-16.7-GCC-5.4.0-2.26.eb similarity index 100% rename from o/OpenMPI/OpenMPI-1.10.4-PGI-16.7-GCC-5.4.0-2.26.eb rename to archive/OpenMPI/OpenMPI-1.10.4-PGI-16.7-GCC-5.4.0-2.26.eb diff --git a/o/OpenMPI/OpenMPI-1.10.7-GCC-4.9.3-2.25.eb b/archive/OpenMPI/OpenMPI-1.10.7-GCC-4.9.3-2.25.eb similarity index 100% rename from o/OpenMPI/OpenMPI-1.10.7-GCC-4.9.3-2.25.eb rename to archive/OpenMPI/OpenMPI-1.10.7-GCC-4.9.3-2.25.eb diff --git a/o/OpenMPI/OpenMPI-1.10.7-GCC-6.3.0-2.27-noPBS.eb b/archive/OpenMPI/OpenMPI-1.10.7-GCC-6.3.0-2.27-noPBS.eb similarity index 100% rename from o/OpenMPI/OpenMPI-1.10.7-GCC-6.3.0-2.27-noPBS.eb rename to archive/OpenMPI/OpenMPI-1.10.7-GCC-6.3.0-2.27-noPBS.eb diff --git a/o/OpenMPI/OpenMPI-1.10.7-GCC-6.3.0-2.27-uv.eb b/archive/OpenMPI/OpenMPI-1.10.7-GCC-6.3.0-2.27-uv.eb similarity index 100% rename from o/OpenMPI/OpenMPI-1.10.7-GCC-6.3.0-2.27-uv.eb rename to archive/OpenMPI/OpenMPI-1.10.7-GCC-6.3.0-2.27-uv.eb diff --git a/o/OpenMPI/OpenMPI-1.10.7-GCC-6.3.0-2.27.eb b/archive/OpenMPI/OpenMPI-1.10.7-GCC-6.3.0-2.27.eb similarity index 100% rename from o/OpenMPI/OpenMPI-1.10.7-GCC-6.3.0-2.27.eb rename to archive/OpenMPI/OpenMPI-1.10.7-GCC-6.3.0-2.27.eb diff --git a/o/OpenMPI/OpenMPI-1.10.7-GCC-7.1.0-2.28.eb b/archive/OpenMPI/OpenMPI-1.10.7-GCC-7.1.0-2.28.eb similarity index 100% rename from o/OpenMPI/OpenMPI-1.10.7-GCC-7.1.0-2.28.eb rename to archive/OpenMPI/OpenMPI-1.10.7-GCC-7.1.0-2.28.eb diff --git a/o/OpenMPI/OpenMPI-1.10.7-PGI-18.5-GCC-6.3.0-2.27.eb b/archive/OpenMPI/OpenMPI-1.10.7-PGI-18.5-GCC-6.3.0-2.27.eb similarity index 100% rename from o/OpenMPI/OpenMPI-1.10.7-PGI-18.5-GCC-6.3.0-2.27.eb rename to archive/OpenMPI/OpenMPI-1.10.7-PGI-18.5-GCC-6.3.0-2.27.eb diff --git a/o/OpenMPI/OpenMPI-1.6.5-GCC-4.8.3.eb b/archive/OpenMPI/OpenMPI-1.6.5-GCC-4.8.3.eb similarity index 100% rename from o/OpenMPI/OpenMPI-1.6.5-GCC-4.8.3.eb rename to archive/OpenMPI/OpenMPI-1.6.5-GCC-4.8.3.eb diff --git a/o/OpenMPI/OpenMPI-1.8.6-GCC-4.4.7-system.eb b/archive/OpenMPI/OpenMPI-1.8.6-GCC-4.4.7-system.eb similarity index 100% rename from o/OpenMPI/OpenMPI-1.8.6-GCC-4.4.7-system.eb rename to archive/OpenMPI/OpenMPI-1.8.6-GCC-4.4.7-system.eb diff --git a/o/OpenMPI/OpenMPI-1.8.6-GNU-4.4.7-system.eb b/archive/OpenMPI/OpenMPI-1.8.6-GNU-4.4.7-system.eb similarity index 100% rename from o/OpenMPI/OpenMPI-1.8.6-GNU-4.4.7-system.eb rename to archive/OpenMPI/OpenMPI-1.8.6-GNU-4.4.7-system.eb diff --git a/o/OpenMPI/OpenMPI-1.8.6-GNU-4.9.3-2.25.eb b/archive/OpenMPI/OpenMPI-1.8.6-GNU-4.9.3-2.25.eb similarity index 100% rename from o/OpenMPI/OpenMPI-1.8.6-GNU-4.9.3-2.25.eb rename to archive/OpenMPI/OpenMPI-1.8.6-GNU-4.9.3-2.25.eb diff --git a/o/OpenMPI/OpenMPI-1.8.6-GNU-5.1.0-2.25.eb b/archive/OpenMPI/OpenMPI-1.8.6-GNU-5.1.0-2.25.eb similarity index 100% rename from o/OpenMPI/OpenMPI-1.8.6-GNU-5.1.0-2.25.eb rename to archive/OpenMPI/OpenMPI-1.8.6-GNU-5.1.0-2.25.eb diff --git a/o/OpenMPI/OpenMPI-1.8.6-iccifort-2015.3.187-GNU-5.1.0-2.25.eb b/archive/OpenMPI/OpenMPI-1.8.6-iccifort-2015.3.187-GNU-5.1.0-2.25.eb similarity index 100% rename from o/OpenMPI/OpenMPI-1.8.6-iccifort-2015.3.187-GNU-5.1.0-2.25.eb rename to archive/OpenMPI/OpenMPI-1.8.6-iccifort-2015.3.187-GNU-5.1.0-2.25.eb diff --git a/o/OpenMPI/OpenMPI-1.8.8-GNU-4.9.3-2.25.eb b/archive/OpenMPI/OpenMPI-1.8.8-GNU-4.9.3-2.25.eb similarity index 100% rename from o/OpenMPI/OpenMPI-1.8.8-GNU-4.9.3-2.25.eb rename to archive/OpenMPI/OpenMPI-1.8.8-GNU-4.9.3-2.25.eb diff --git a/o/OpenMPI/OpenMPI-1.8.8-GNU-5.1.0-2.25.eb b/archive/OpenMPI/OpenMPI-1.8.8-GNU-5.1.0-2.25.eb similarity index 100% rename from o/OpenMPI/OpenMPI-1.8.8-GNU-5.1.0-2.25.eb rename to archive/OpenMPI/OpenMPI-1.8.8-GNU-5.1.0-2.25.eb diff --git a/o/OpenMPI/OpenMPI-1.8.8-iccifort-2015.3.187-GNU-4.9.3-2.25.eb b/archive/OpenMPI/OpenMPI-1.8.8-iccifort-2015.3.187-GNU-4.9.3-2.25.eb similarity index 100% rename from o/OpenMPI/OpenMPI-1.8.8-iccifort-2015.3.187-GNU-4.9.3-2.25.eb rename to archive/OpenMPI/OpenMPI-1.8.8-iccifort-2015.3.187-GNU-4.9.3-2.25.eb diff --git a/o/OpenMPI/OpenMPI-2.0.0-GCC-5.2.0.eb b/archive/OpenMPI/OpenMPI-2.0.0-GCC-5.2.0.eb similarity index 100% rename from o/OpenMPI/OpenMPI-2.0.0-GCC-5.2.0.eb rename to archive/OpenMPI/OpenMPI-2.0.0-GCC-5.2.0.eb diff --git a/o/OpenMPI/OpenMPI-2.0.1-GCC-6.2.0-2.27.eb b/archive/OpenMPI/OpenMPI-2.0.1-GCC-6.2.0-2.27.eb similarity index 100% rename from o/OpenMPI/OpenMPI-2.0.1-GCC-6.2.0-2.27.eb rename to archive/OpenMPI/OpenMPI-2.0.1-GCC-6.2.0-2.27.eb diff --git a/o/OpenMPI/OpenMPI-2.0.1-gcccuda-2016.10.eb b/archive/OpenMPI/OpenMPI-2.0.1-gcccuda-2016.10.eb similarity index 100% rename from o/OpenMPI/OpenMPI-2.0.1-gcccuda-2016.10.eb rename to archive/OpenMPI/OpenMPI-2.0.1-gcccuda-2016.10.eb diff --git a/o/OpenMPI/OpenMPI-2.0.1-iccifort-2017.1.132-GCC-5.4.0-2.26.eb b/archive/OpenMPI/OpenMPI-2.0.1-iccifort-2017.1.132-GCC-5.4.0-2.26.eb similarity index 100% rename from o/OpenMPI/OpenMPI-2.0.1-iccifort-2017.1.132-GCC-5.4.0-2.26.eb rename to archive/OpenMPI/OpenMPI-2.0.1-iccifort-2017.1.132-GCC-5.4.0-2.26.eb diff --git a/o/OpenMPI/OpenMPI-2.0.1-iccifort-2017.1.132-GCC-6.3.0-2.27.eb b/archive/OpenMPI/OpenMPI-2.0.1-iccifort-2017.1.132-GCC-6.3.0-2.27.eb similarity index 100% rename from o/OpenMPI/OpenMPI-2.0.1-iccifort-2017.1.132-GCC-6.3.0-2.27.eb rename to archive/OpenMPI/OpenMPI-2.0.1-iccifort-2017.1.132-GCC-6.3.0-2.27.eb diff --git a/o/OpenMPI/OpenMPI-2.0.1.eb b/archive/OpenMPI/OpenMPI-2.0.1.eb similarity index 100% rename from o/OpenMPI/OpenMPI-2.0.1.eb rename to archive/OpenMPI/OpenMPI-2.0.1.eb diff --git a/o/OpenMPI/OpenMPI-2.0.2-GCC-6.3.0-2.27.eb b/archive/OpenMPI/OpenMPI-2.0.2-GCC-6.3.0-2.27.eb similarity index 100% rename from o/OpenMPI/OpenMPI-2.0.2-GCC-6.3.0-2.27.eb rename to archive/OpenMPI/OpenMPI-2.0.2-GCC-6.3.0-2.27.eb diff --git a/o/OpenMPI/OpenMPI-2.1.0-GCC-4.9.3-2.25.eb b/archive/OpenMPI/OpenMPI-2.1.0-GCC-4.9.3-2.25.eb similarity index 100% rename from o/OpenMPI/OpenMPI-2.1.0-GCC-4.9.3-2.25.eb rename to archive/OpenMPI/OpenMPI-2.1.0-GCC-4.9.3-2.25.eb diff --git a/o/OpenMPI/OpenMPI-2.1.0-GCC-6.3.0-2.27.eb b/archive/OpenMPI/OpenMPI-2.1.0-GCC-6.3.0-2.27.eb similarity index 100% rename from o/OpenMPI/OpenMPI-2.1.0-GCC-6.3.0-2.27.eb rename to archive/OpenMPI/OpenMPI-2.1.0-GCC-6.3.0-2.27.eb diff --git a/o/OpenMPI/OpenMPI-2.1.1-GCC-6.3.0-2.27-uv.eb b/archive/OpenMPI/OpenMPI-2.1.1-GCC-6.3.0-2.27-uv.eb similarity index 100% rename from o/OpenMPI/OpenMPI-2.1.1-GCC-6.3.0-2.27-uv.eb rename to archive/OpenMPI/OpenMPI-2.1.1-GCC-6.3.0-2.27-uv.eb diff --git a/o/OpenMPI/OpenMPI-2.1.1-GCC-6.3.0-2.27.eb b/archive/OpenMPI/OpenMPI-2.1.1-GCC-6.3.0-2.27.eb similarity index 100% rename from o/OpenMPI/OpenMPI-2.1.1-GCC-6.3.0-2.27.eb rename to archive/OpenMPI/OpenMPI-2.1.1-GCC-6.3.0-2.27.eb diff --git a/o/OpenMPI/OpenMPI-2.1.1-GCC-7.1.0-2.28.eb b/archive/OpenMPI/OpenMPI-2.1.1-GCC-7.1.0-2.28.eb similarity index 100% rename from o/OpenMPI/OpenMPI-2.1.1-GCC-7.1.0-2.28.eb rename to archive/OpenMPI/OpenMPI-2.1.1-GCC-7.1.0-2.28.eb diff --git a/o/OpenMPI/OpenMPI-2.1.1-GCC-7.3.0-2.30.eb b/archive/OpenMPI/OpenMPI-2.1.1-GCC-7.3.0-2.30.eb similarity index 100% rename from o/OpenMPI/OpenMPI-2.1.1-GCC-7.3.0-2.30.eb rename to archive/OpenMPI/OpenMPI-2.1.1-GCC-7.3.0-2.30.eb diff --git a/o/OpenMPI/OpenMPI-2.1.1-GCC-8.1.0-2.30.eb b/archive/OpenMPI/OpenMPI-2.1.1-GCC-8.1.0-2.30.eb similarity index 100% rename from o/OpenMPI/OpenMPI-2.1.1-GCC-8.1.0-2.30.eb rename to archive/OpenMPI/OpenMPI-2.1.1-GCC-8.1.0-2.30.eb diff --git a/o/OpenMPI/OpenMPI-2.1.1-c7.eb b/archive/OpenMPI/OpenMPI-2.1.1-c7.eb similarity index 100% rename from o/OpenMPI/OpenMPI-2.1.1-c7.eb rename to archive/OpenMPI/OpenMPI-2.1.1-c7.eb diff --git a/o/OpenMPI/OpenMPI-2.1.5-GCC-6.3.0-2.27-noPBS.eb b/archive/OpenMPI/OpenMPI-2.1.5-GCC-6.3.0-2.27-noPBS.eb similarity index 100% rename from o/OpenMPI/OpenMPI-2.1.5-GCC-6.3.0-2.27-noPBS.eb rename to archive/OpenMPI/OpenMPI-2.1.5-GCC-6.3.0-2.27-noPBS.eb diff --git a/o/OpenMPI/OpenMPI-2.1.5-GCC-6.3.0-2.27.eb b/archive/OpenMPI/OpenMPI-2.1.5-GCC-6.3.0-2.27.eb similarity index 100% rename from o/OpenMPI/OpenMPI-2.1.5-GCC-6.3.0-2.27.eb rename to archive/OpenMPI/OpenMPI-2.1.5-GCC-6.3.0-2.27.eb diff --git a/o/OpenMPI/OpenMPI-2.1.5-GCC-8.3.0-2.32.eb b/archive/OpenMPI/OpenMPI-2.1.5-GCC-8.3.0-2.32.eb similarity index 100% rename from o/OpenMPI/OpenMPI-2.1.5-GCC-8.3.0-2.32.eb rename to archive/OpenMPI/OpenMPI-2.1.5-GCC-8.3.0-2.32.eb diff --git a/o/OpenMPI/OpenMPI-2.1.5-GCC-9.1.0-2.32.eb b/archive/OpenMPI/OpenMPI-2.1.5-GCC-9.1.0-2.32.eb similarity index 100% rename from o/OpenMPI/OpenMPI-2.1.5-GCC-9.1.0-2.32.eb rename to archive/OpenMPI/OpenMPI-2.1.5-GCC-9.1.0-2.32.eb diff --git a/o/OpenMPI/OpenMPI-3.0.0-GCC-6.3.0-2.27-uv.eb b/archive/OpenMPI/OpenMPI-3.0.0-GCC-6.3.0-2.27-uv.eb similarity index 100% rename from o/OpenMPI/OpenMPI-3.0.0-GCC-6.3.0-2.27-uv.eb rename to archive/OpenMPI/OpenMPI-3.0.0-GCC-6.3.0-2.27-uv.eb diff --git a/o/OpenMPI/OpenMPI-3.0.0-GCC-6.3.0-2.27.eb b/archive/OpenMPI/OpenMPI-3.0.0-GCC-6.3.0-2.27.eb similarity index 100% rename from o/OpenMPI/OpenMPI-3.0.0-GCC-6.3.0-2.27.eb rename to archive/OpenMPI/OpenMPI-3.0.0-GCC-6.3.0-2.27.eb diff --git a/o/OpenMPI/OpenMPI-3.0.0-GCC-7.2.0-2.29.eb b/archive/OpenMPI/OpenMPI-3.0.0-GCC-7.2.0-2.29.eb similarity index 100% rename from o/OpenMPI/OpenMPI-3.0.0-GCC-7.2.0-2.29.eb rename to archive/OpenMPI/OpenMPI-3.0.0-GCC-7.2.0-2.29.eb diff --git a/o/OpenMPI/OpenMPI-3.0.1-GCC-6.3.0-2.27-nvidia-RHEL6.eb b/archive/OpenMPI/OpenMPI-3.0.1-GCC-6.3.0-2.27-nvidia-RHEL6.eb similarity index 100% rename from o/OpenMPI/OpenMPI-3.0.1-GCC-6.3.0-2.27-nvidia-RHEL6.eb rename to archive/OpenMPI/OpenMPI-3.0.1-GCC-6.3.0-2.27-nvidia-RHEL6.eb diff --git a/o/OpenMPI/OpenMPI-3.0.1-GCC-6.3.0-2.27-nvidia.eb b/archive/OpenMPI/OpenMPI-3.0.1-GCC-6.3.0-2.27-nvidia.eb similarity index 100% rename from o/OpenMPI/OpenMPI-3.0.1-GCC-6.3.0-2.27-nvidia.eb rename to archive/OpenMPI/OpenMPI-3.0.1-GCC-6.3.0-2.27-nvidia.eb diff --git a/o/OpenMPI/OpenMPI-3.1.3-GCC-8.2.0-2.31.1.eb b/archive/OpenMPI/OpenMPI-3.1.3-GCC-8.2.0-2.31.1.eb similarity index 100% rename from o/OpenMPI/OpenMPI-3.1.3-GCC-8.2.0-2.31.1.eb rename to archive/OpenMPI/OpenMPI-3.1.3-GCC-8.2.0-2.31.1.eb diff --git a/o/OpenMPI/OpenMPI-3.1.3-GCCcore-8.3.0.eb b/archive/OpenMPI/OpenMPI-3.1.3-GCCcore-8.3.0.eb similarity index 100% rename from o/OpenMPI/OpenMPI-3.1.3-GCCcore-8.3.0.eb rename to archive/OpenMPI/OpenMPI-3.1.3-GCCcore-8.3.0.eb diff --git a/o/OpenMPI/OpenMPI-3.1.3-PGI-19.4-GCC-8.2.0-2.31.1.eb b/archive/OpenMPI/OpenMPI-3.1.3-PGI-19.4-GCC-8.2.0-2.31.1.eb similarity index 100% rename from o/OpenMPI/OpenMPI-3.1.3-PGI-19.4-GCC-8.2.0-2.31.1.eb rename to archive/OpenMPI/OpenMPI-3.1.3-PGI-19.4-GCC-8.2.0-2.31.1.eb diff --git a/o/OpenMPI/OpenMPI-3.1.4-GCC-6.3.0-2.27-noPBS.eb b/archive/OpenMPI/OpenMPI-3.1.4-GCC-6.3.0-2.27-noPBS.eb similarity index 100% rename from o/OpenMPI/OpenMPI-3.1.4-GCC-6.3.0-2.27-noPBS.eb rename to archive/OpenMPI/OpenMPI-3.1.4-GCC-6.3.0-2.27-noPBS.eb diff --git a/o/OpenMPI/OpenMPI-3.1.4-GCC-6.3.0-2.27-nvidia.eb b/archive/OpenMPI/OpenMPI-3.1.4-GCC-6.3.0-2.27-nvidia.eb similarity index 100% rename from o/OpenMPI/OpenMPI-3.1.4-GCC-6.3.0-2.27-nvidia.eb rename to archive/OpenMPI/OpenMPI-3.1.4-GCC-6.3.0-2.27-nvidia.eb diff --git a/o/OpenMPI/OpenMPI-3.1.4-GCC-6.3.0-2.27.eb b/archive/OpenMPI/OpenMPI-3.1.4-GCC-6.3.0-2.27.eb similarity index 100% rename from o/OpenMPI/OpenMPI-3.1.4-GCC-6.3.0-2.27.eb rename to archive/OpenMPI/OpenMPI-3.1.4-GCC-6.3.0-2.27.eb diff --git a/o/OpenMPI/OpenMPI-3.1.4-GCC-8.3.0-2.32.eb b/archive/OpenMPI/OpenMPI-3.1.4-GCC-8.3.0-2.32.eb similarity index 100% rename from o/OpenMPI/OpenMPI-3.1.4-GCC-8.3.0-2.32.eb rename to archive/OpenMPI/OpenMPI-3.1.4-GCC-8.3.0-2.32.eb diff --git a/o/OpenMPI/OpenMPI-3.1.4-PGI-19.7-GCC-8.2.0-2.31.1.eb b/archive/OpenMPI/OpenMPI-3.1.4-PGI-19.7-GCC-8.2.0-2.31.1.eb similarity index 100% rename from o/OpenMPI/OpenMPI-3.1.4-PGI-19.7-GCC-8.2.0-2.31.1.eb rename to archive/OpenMPI/OpenMPI-3.1.4-PGI-19.7-GCC-8.2.0-2.31.1.eb diff --git a/o/OpenMPI/OpenMPI-3.1.5-GCCcore-8.3.0.eb b/archive/OpenMPI/OpenMPI-3.1.5-GCCcore-8.3.0.eb similarity index 100% rename from o/OpenMPI/OpenMPI-3.1.5-GCCcore-8.3.0.eb rename to archive/OpenMPI/OpenMPI-3.1.5-GCCcore-8.3.0.eb diff --git a/o/OpenMPI/OpenMPI-3.1.5.eb b/archive/OpenMPI/OpenMPI-3.1.5.eb similarity index 100% rename from o/OpenMPI/OpenMPI-3.1.5.eb rename to archive/OpenMPI/OpenMPI-3.1.5.eb diff --git a/o/OpenMPI/OpenMPI-3.1.6-GCCcore-8.3.0-noPBS.eb b/archive/OpenMPI/OpenMPI-3.1.6-GCCcore-8.3.0-noPBS.eb similarity index 100% rename from o/OpenMPI/OpenMPI-3.1.6-GCCcore-8.3.0-noPBS.eb rename to archive/OpenMPI/OpenMPI-3.1.6-GCCcore-8.3.0-noPBS.eb diff --git a/o/OpenMPI/OpenMPI-4.0.0-GCC-6.3.0-2.27-noPBS.eb b/archive/OpenMPI/OpenMPI-4.0.0-GCC-6.3.0-2.27-noPBS.eb similarity index 100% rename from o/OpenMPI/OpenMPI-4.0.0-GCC-6.3.0-2.27-noPBS.eb rename to archive/OpenMPI/OpenMPI-4.0.0-GCC-6.3.0-2.27-noPBS.eb diff --git a/o/OpenMPI/OpenMPI-4.0.0-GCC-6.3.0-2.27.eb b/archive/OpenMPI/OpenMPI-4.0.0-GCC-6.3.0-2.27.eb similarity index 100% rename from o/OpenMPI/OpenMPI-4.0.0-GCC-6.3.0-2.27.eb rename to archive/OpenMPI/OpenMPI-4.0.0-GCC-6.3.0-2.27.eb diff --git a/o/OpenMPI/OpenMPI-4.0.2-GCC-8.3.0-2.32.eb b/archive/OpenMPI/OpenMPI-4.0.2-GCC-8.3.0-2.32.eb similarity index 100% rename from o/OpenMPI/OpenMPI-4.0.2-GCC-8.3.0-2.32.eb rename to archive/OpenMPI/OpenMPI-4.0.2-GCC-8.3.0-2.32.eb diff --git a/o/OpenMPI/OpenMPI-4.0.3-GCC-9.3.0.eb b/archive/OpenMPI/OpenMPI-4.0.3-GCC-9.3.0.eb similarity index 100% rename from o/OpenMPI/OpenMPI-4.0.3-GCC-9.3.0.eb rename to archive/OpenMPI/OpenMPI-4.0.3-GCC-9.3.0.eb diff --git a/o/OpenMPI/OpenMPI-4.0.4-GCC-8.3.0-2.32-CUDA.eb b/archive/OpenMPI/OpenMPI-4.0.4-GCC-8.3.0-2.32-CUDA.eb similarity index 100% rename from o/OpenMPI/OpenMPI-4.0.4-GCC-8.3.0-2.32-CUDA.eb rename to archive/OpenMPI/OpenMPI-4.0.4-GCC-8.3.0-2.32-CUDA.eb diff --git a/o/OpenMPI/OpenMPI-4.0.4-GCC-9.3.0-without-verbs.eb b/archive/OpenMPI/OpenMPI-4.0.4-GCC-9.3.0-without-verbs.eb similarity index 100% rename from o/OpenMPI/OpenMPI-4.0.4-GCC-9.3.0-without-verbs.eb rename to archive/OpenMPI/OpenMPI-4.0.4-GCC-9.3.0-without-verbs.eb diff --git a/o/OpenMPI/OpenMPI-4.0.4-GCC-9.3.0.eb b/archive/OpenMPI/OpenMPI-4.0.4-GCC-9.3.0.eb similarity index 100% rename from o/OpenMPI/OpenMPI-4.0.4-GCC-9.3.0.eb rename to archive/OpenMPI/OpenMPI-4.0.4-GCC-9.3.0.eb diff --git a/o/OpenMPI/OpenMPI-4.0.4-GCCcore-8.3.0.eb b/archive/OpenMPI/OpenMPI-4.0.4-GCCcore-8.3.0.eb similarity index 100% rename from o/OpenMPI/OpenMPI-4.0.4-GCCcore-8.3.0.eb rename to archive/OpenMPI/OpenMPI-4.0.4-GCCcore-8.3.0.eb diff --git a/b/BLIS/BLIS-3.1-GCCcore-12.2.0-amd.eb b/b/BLIS/BLIS-3.1-GCCcore-12.2.0-amd.eb new file mode 100644 index 00000000..a86efced --- /dev/null +++ b/b/BLIS/BLIS-3.1-GCCcore-12.2.0-amd.eb @@ -0,0 +1,50 @@ +# IT4Inoovations +# LK 2023 + +easyblock = 'ConfigureMake' + +name = 'BLIS' +version = '3.1' +versionsuffix = '-amd' + +homepage = 'https://developer.amd.com/amd-cpu-libraries/blas-library/' +description = """AMD's fork of BLIS. BLIS is a portable software framework for instantiating high-performance +BLAS-like dense linear algebra libraries.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/amd/blis/archive/'] +sources = ['%(version)s.tar.gz'] +patches = [ + '%(name)s-0.8.1_enable_ppc_autodetect.patch', + '%(name)s-0.8.1_fix_dgemm-fpe-signalling-on-broadwell.patch', +] +checksums = [ + '2891948925b9db99eec02a1917d9887a7bee9ad2afc5421c9ba58602a620f2bf', # 3.1.tar.gz + # BLIS-0.8.1_enable_ppc_autodetect.patch + 'b8a3d564a8d4f205e70241765ddfd28331c3c12355ef9c44172c9a0cab9f0111', + # BLIS-0.8.1_fix_dgemm-fpe-signalling-on-broadwell.patch + '345fa39933e9d1442d2eb1e4ed9129df3fe4aefecf4d104e5d4f25b3bca24d0d', +] +builddependencies = [ + ('binutils', '2.39'), + ('Python', '3.10.8'), + ('Perl', '5.36.0'), +] + +# Build Serial and multithreaded library +configopts = ['--enable-cblas --enable-shared CC="$CC" auto', + '--enable-cblas --enable-threading=openmp --enable-shared CC="$CC" auto'] + +runtest = 'check' + +sanity_check_paths = { + 'files': ['include/blis/cblas.h', 'include/blis/blis.h', + 'lib/libblis.a', 'lib/libblis.%s' % SHLIB_EXT, + 'lib/libblis-mt.a', 'lib/libblis-mt.%s' % SHLIB_EXT], + 'dirs': [], +} + +modextrapaths = {'CPATH': 'include/blis'} + +moduleclass = 'numlib' diff --git a/f/FFTW.MPI/FFTW.MPI-3.3.10-NVHPC-23.5-CUDA-12.2.0.eb b/f/FFTW.MPI/FFTW.MPI-3.3.10-NVHPC-23.5-CUDA-12.2.0.eb new file mode 100644 index 00000000..50237c34 --- /dev/null +++ b/f/FFTW.MPI/FFTW.MPI-3.3.10-NVHPC-23.5-CUDA-12.2.0.eb @@ -0,0 +1,26 @@ +# IT4Innovations +# LK 2023 + +name = 'FFTW.MPI' +version = '3.3.10' +versionsuffix = '-CUDA-12.2.0' + +homepage = 'https://www.fftw.org' +description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) +in one or more dimensions, of arbitrary input size, and of both real and complex data.""" + +toolchain = {'name': 'NVHPC', 'version': '23.5'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = ['fftw-%(version)s.tar.gz'] +checksums = ['56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467'] + +dependencies = [ + ('FFTW', '3.3.10', '-CUDA-12.2.0'), + ('OpenMPI', '4.1.5', '-CUDA-12.2.0'), +] + +runtest = 'check' + +moduleclass = 'numlib' diff --git a/f/FFTW/FFTW-3.3.10-NVHPC-23.5-CUDA-12.2.0.eb b/f/FFTW/FFTW-3.3.10-NVHPC-23.5-CUDA-12.2.0.eb index f7866d3d..6804987e 100644 --- a/f/FFTW/FFTW-3.3.10-NVHPC-23.5-CUDA-12.2.0.eb +++ b/f/FFTW/FFTW-3.3.10-NVHPC-23.5-CUDA-12.2.0.eb @@ -3,6 +3,7 @@ name = 'FFTW' version = '3.3.10' +versionsuffix = '-CUDA-12.2.0' homepage = 'https://www.fftw.org' description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) diff --git a/h/HDF5/HDF5-1.14.0-NVHPC-23.5.eb b/h/HDF5/HDF5-1.14.0-NVHPC-23.5.eb new file mode 100644 index 00000000..22b38ad2 --- /dev/null +++ b/h/HDF5/HDF5-1.14.0-NVHPC-23.5.eb @@ -0,0 +1,27 @@ +# IT4Innovations +# LK 2023 + +name = 'HDF5' +version = '1.14.0' + +homepage = 'https://portal.hdfgroup.org/display/support' +description = """HDF5 is a data model, library, and file format for storing and managing data. + It supports an unlimited variety of datatypes, and is designed for flexible + and efficient I/O and for high volume and complex data.""" + +toolchain = {'name': 'NVHPC', 'version': '23.5'} +toolchainopts = {'pic': True} + +source_urls = ['https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-%(version_major_minor)s/hdf5-%(version)s/src'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['a571cc83efda62e1a51a0a912dd916d01895801c5025af91669484a1575a6ef4'] + +configopts = '--enable-fortran --enable-fortran 2003 --enable-cxx --enable-parallel --enable-unsupported --enable-shared' + +dependencies = [ + ('OpenMPI', '4.1.5', '-CUDA-12.2.0'), + ('zlib', '1.2.12'), + ('Szip', '2.1.1'), +] + +moduleclass = 'data' diff --git a/l/libFLAME/libFLAME-5.2.0-GCCcore-12.2.0.eb b/l/libFLAME/libFLAME-5.2.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000..551b11f3 --- /dev/null +++ b/l/libFLAME/libFLAME-5.2.0-GCCcore-12.2.0.eb @@ -0,0 +1,56 @@ +# IT4Innovations +# LK 2023 + +easyblock = 'ConfigureMake' + +name = 'libFLAME' +version = '5.2.0' + +homepage = 'https://developer.amd.com/amd-cpu-libraries/blas-library/#libflame' +description = """libFLAME is a portable library for dense matrix computations, +providing much of the functionality present in LAPACK.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/flame/libflame/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['997c860f351a5c7aaed8deec00f502167599288fd0559c92d5bfd77d0b4d475c'] + +# '--enable-max-arg-list-hack --enable-dynamic-build' requires 'file' function from GNU Make 4.x +builddependencies = [ + ('binutils', '2.39'), + ('Python', '3.10.8'), + ('make', '4.4.1'), # needed on Cent OS 7 where make 3 is installed +] + +dependencies = [('BLIS', '3.1', '-amd')] + +# Use unset FLIBS to let configure pick up LDFLAGS +preconfigopts = 'unset FLIBS && ' +preconfigopts += 'LIBS="-lblis $LIBS" ' +preconfigopts += 'LDFLAGS="$LDFLAGS -L$EBROOTBLIS/lib -fopenmp -lm -lpthread" ' +preconfigopts += 'CFLAGS="$CFLAGS -I$EBROOTBLIS/include/blis" ' + +configopts = '--enable-max-arg-list-hack ' +configopts += '--enable-lapack2flame ' +configopts += '--enable-external-lapack-interfaces ' +configopts += '--enable-cblas-interfaces ' +configopts += '--enable-dynamic-build ' +configopts += '--enable-multithreading=openmp ' + +# libFLAME C++ Template API tests +# runtest = 'checkcpp LIBBLAS=$EBROOTBLIS/lib/libblis.a' + +# sanity_check_commands = [ +# 'cd %(builddir)s/%(namelower)s-%(version)s/test ' +# '&& make LIBBLAS=$EBROOTBLIS/lib/libblis-mt.so LDFLAGS="-fopenmp -lm -lpthread" ' +# '&& ./test_libfame.x' +# ] + +sanity_check_paths = { + 'files': ['include/FLAME.h', 'lib/libflame.a', 'lib/libflame.%s' % SHLIB_EXT], + 'dirs': ['lib'], +} + +moduleclass = 'numlib' diff --git a/n/NCCL/NCCL-2.12.12--CUDA-12.2.0.eb b/n/NCCL/NCCL-2.12.12--CUDA-12.2.0.eb new file mode 100644 index 00000000..f7f2aac5 --- /dev/null +++ b/n/NCCL/NCCL-2.12.12--CUDA-12.2.0.eb @@ -0,0 +1,26 @@ +# IT4Innovations +# LK 2023 + +name = 'NCCL' +version = '2.12.12' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://developer.nvidia.com/nccl' +description = """The NVIDIA Collective Communications Library (NCCL) implements multi-GPU and multi-node collective +communication primitives that are performance optimized for NVIDIA GPUs.""" + +toolchain = SYSTEM #{'name': 'GCCcore', 'version': '12.2.0'} + +github_account = 'NVIDIA' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s-1.tar.gz'] +checksums = ['49b4fbfeebf1f62f6ceb69e72504045d8d1b4e7609e3c2477906f3004c7e2d82'] + +#builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('CUDA', '12.2.0', '', SYSTEM), +# ('UCX-CUDA', '1.14.1', versionsuffix), +] + +moduleclass = 'lib' diff --git a/n/NCCL/NCCL-2.16.2-GCCcore-12.2.0-CUDA-12.0.0.eb b/n/NCCL/NCCL-2.16.2-GCCcore-12.2.0-CUDA-12.0.0.eb new file mode 100644 index 00000000..cd576dcb --- /dev/null +++ b/n/NCCL/NCCL-2.16.2-GCCcore-12.2.0-CUDA-12.0.0.eb @@ -0,0 +1,26 @@ +name = 'NCCL' +version = '2.16.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://developer.nvidia.com/nccl' +description = """The NVIDIA Collective Communications Library (NCCL) implements multi-GPU and multi-node collective +communication primitives that are performance optimized for NVIDIA GPUs.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +github_account = 'NVIDIA' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s-1.tar.gz'] +checksums = ['7f7c738511a8876403fc574d13d48e7c250d934d755598d82e14bab12236fc64'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('CUDA', '12.0.0', '', SYSTEM), + ('UCX-CUDA', '1.13.1', versionsuffix), +] + +# default CUDA compute capabilities to use (override via --cuda-compute-capabilities) +cuda_compute_capabilities = ['5.0', '6.0', '7.0', '7.5', '8.0', '8.6', '9.0'] + +moduleclass = 'lib' diff --git a/n/NCCL/NCCL-2.16.2-GCCcore-12.2.0-CUDA-12.2.0.eb b/n/NCCL/NCCL-2.16.2-GCCcore-12.2.0-CUDA-12.2.0.eb index d232297c..ba999400 100644 --- a/n/NCCL/NCCL-2.16.2-GCCcore-12.2.0-CUDA-12.2.0.eb +++ b/n/NCCL/NCCL-2.16.2-GCCcore-12.2.0-CUDA-12.2.0.eb @@ -24,6 +24,6 @@ dependencies = [ ] # default CUDA compute capabilities to use (override via --cuda-compute-capabilities) -cuda_compute_capabilities = ['5.0', '6.0', '7.0', '7.5', '8.0', '8.6', '9.0'] +#cuda_compute_capabilities = ['5.0', '6.0', '7.0', '7.5', '8.0', '8.6', '9.0'] moduleclass = 'lib' diff --git a/n/NCCL/NCCL-2.18.3-CUDA-12.2.0.eb b/n/NCCL/NCCL-2.18.3-CUDA-12.2.0.eb new file mode 100644 index 00000000..7472b3fd --- /dev/null +++ b/n/NCCL/NCCL-2.18.3-CUDA-12.2.0.eb @@ -0,0 +1,27 @@ +# IT4Innovations +# LK 2023 + +name = 'NCCL' +version = '2.18.3' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://developer.nvidia.com/nccl' +description = """The NVIDIA Collective Communications Library (NCCL) implements multi-GPU and multi-node collective +communication primitives that are performance optimized for NVIDIA GPUs.""" + +toolchain = SYSTEM + +github_account = 'NVIDIA' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s-1.tar.gz'] +checksums = ['b4f5d7d9eea2c12e32e7a06fe138b2cfc75969c6d5c473aa6f819a792db2fc96'] + +dependencies = [ + ('CUDA', '12.2.0', '', SYSTEM), +# ('UCX-CUDA', '1.14.1', versionsuffix, ('GCCcore', '12.2.0')), +] + +# default CUDA compute capabilities to use (override via --cuda-compute-capabilities) +cuda_compute_capabilities = ['8.0'] + +moduleclass = 'lib' diff --git a/n/NCCL/NCCL-2.18.3-GCCcore-12.2.0-CUDA-12.2.0.eb b/n/NCCL/NCCL-2.18.3-GCCcore-12.2.0-CUDA-12.2.0.eb new file mode 100644 index 00000000..7403dec0 --- /dev/null +++ b/n/NCCL/NCCL-2.18.3-GCCcore-12.2.0-CUDA-12.2.0.eb @@ -0,0 +1,29 @@ +# IT4Innovations +# LK 2023 + +name = 'NCCL' +version = '2.18.3' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://developer.nvidia.com/nccl' +description = """The NVIDIA Collective Communications Library (NCCL) implements multi-GPU and multi-node collective +communication primitives that are performance optimized for NVIDIA GPUs.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +github_account = 'NVIDIA' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s-1.tar.gz'] +checksums = ['b4f5d7d9eea2c12e32e7a06fe138b2cfc75969c6d5c473aa6f819a792db2fc96'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('CUDA', '12.2.0', '', SYSTEM), + ('UCX-CUDA', '1.14.1', versionsuffix), +] + +# default CUDA compute capabilities to use (override via --cuda-compute-capabilities) +cuda_compute_capabilities = ['8.0'] + +moduleclass = 'lib' diff --git a/o/OpenMPI/OpenMPI-3.1.4-GCC-10.2.0-CUDA-12.2.0.eb b/o/OpenMPI/OpenMPI-3.1.4-GCC-10.2.0-CUDA-12.2.0.eb index afcc69b6..bb92473d 100644 --- a/o/OpenMPI/OpenMPI-3.1.4-GCC-10.2.0-CUDA-12.2.0.eb +++ b/o/OpenMPI/OpenMPI-3.1.4-GCC-10.2.0-CUDA-12.2.0.eb @@ -50,9 +50,22 @@ sanity_check_paths = { x for x in [ "mpi-ext", "mpif-config", "mpif", "mpi", "mpi_portable_platform"]], 'dirs': [], } -modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', +import os +if os.environ.get("CLUSTERNAME") in ["BARBORA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', 'OMPI_MCA_orte_base_help_aggregate': '0', - } + 'SLURM_MPI_TYPE': 'pmix_v4', + } +elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +else: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', + 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + 'SLURM_MPI_TYPE': 'pmix_v4', + } moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-3.1.4-GCC-10.2.0.eb b/o/OpenMPI/OpenMPI-3.1.4-GCC-10.2.0.eb index 5f3363c2..540ba5be 100644 --- a/o/OpenMPI/OpenMPI-3.1.4-GCC-10.2.0.eb +++ b/o/OpenMPI/OpenMPI-3.1.4-GCC-10.2.0.eb @@ -45,9 +45,22 @@ sanity_check_paths = { x for x in [ "mpi-ext", "mpif-config", "mpif", "mpi", "mpi_portable_platform"]], 'dirs': [], } -modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', +import os +if os.environ.get("CLUSTERNAME") in ["BARBORA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', 'OMPI_MCA_orte_base_help_aggregate': '0', - 'OMPI_MCA_btl_openib_warn_no_device_params_found': '0', - } + 'SLURM_MPI_TYPE': 'pmix_v4', + } +elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +else: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', + 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + 'SLURM_MPI_TYPE': 'pmix_v4', + } moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-3.1.6-GCCcore-8.3.0.eb b/o/OpenMPI/OpenMPI-3.1.6-GCCcore-8.3.0.eb index f3709306..29363c74 100644 --- a/o/OpenMPI/OpenMPI-3.1.6-GCCcore-8.3.0.eb +++ b/o/OpenMPI/OpenMPI-3.1.6-GCCcore-8.3.0.eb @@ -43,10 +43,17 @@ if os.environ.get("CLUSTERNAME") in ["BARBORA"]: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', } else: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + 'SLURM_MPI_TYPE': 'pmix_v4', } moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-4.0.5-GCC-10.2.0-Java-1.8.0_221.eb b/o/OpenMPI/OpenMPI-4.0.5-GCC-10.2.0-Java-1.8.0_221.eb index 35706666..782e2189 100644 --- a/o/OpenMPI/OpenMPI-4.0.5-GCC-10.2.0-Java-1.8.0_221.eb +++ b/o/OpenMPI/OpenMPI-4.0.5-GCC-10.2.0-Java-1.8.0_221.eb @@ -55,10 +55,17 @@ if os.environ.get("CLUSTERNAME") in ["BARBORA"]: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', } else: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + 'SLURM_MPI_TYPE': 'pmix_v4', } moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-4.0.5-GCC-10.2.0-Java-13.0.1.eb b/o/OpenMPI/OpenMPI-4.0.5-GCC-10.2.0-Java-13.0.1.eb index 5bd69f1c..084bcc02 100644 --- a/o/OpenMPI/OpenMPI-4.0.5-GCC-10.2.0-Java-13.0.1.eb +++ b/o/OpenMPI/OpenMPI-4.0.5-GCC-10.2.0-Java-13.0.1.eb @@ -59,10 +59,17 @@ if os.environ.get("CLUSTERNAME") in ["BARBORA"]: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', } else: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + 'SLURM_MPI_TYPE': 'pmix_v4', } moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-4.0.5-GCC-10.2.0-test.eb b/o/OpenMPI/OpenMPI-4.0.5-GCC-10.2.0-test.eb index 41c4a6b3..590dd2e8 100644 --- a/o/OpenMPI/OpenMPI-4.0.5-GCC-10.2.0-test.eb +++ b/o/OpenMPI/OpenMPI-4.0.5-GCC-10.2.0-test.eb @@ -20,9 +20,6 @@ dependencies = [ ('hwloc', '2.2.0'), ('zlib', '1.2.11'), ('UCX', '1.9.0',), -# ('libfabric', '1.11.0'), -# ('PMIx', '3.1.5'), -# ('libevent', '2.1.12'), ] preconfigopts = './autogen.pl && ' @@ -58,10 +55,17 @@ if os.environ.get("CLUSTERNAME") in ["BARBORA"]: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', } else: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + 'SLURM_MPI_TYPE': 'pmix_v4', } moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-4.0.5-GCCcore-9.3.0-CUDA-11.2.2-devel.eb b/o/OpenMPI/OpenMPI-4.0.5-GCCcore-9.3.0-CUDA-11.2.2-devel.eb index 41c08401..1f06b629 100644 --- a/o/OpenMPI/OpenMPI-4.0.5-GCCcore-9.3.0-CUDA-11.2.2-devel.eb +++ b/o/OpenMPI/OpenMPI-4.0.5-GCCcore-9.3.0-CUDA-11.2.2-devel.eb @@ -49,4 +49,22 @@ sanity_check_paths = { x for x in [ "mpi-ext", "mpif-config", "mpif", "mpi", "mpi_portable_platform"]], 'dirs': [], } +import os +if os.environ.get("CLUSTERNAME") in ["BARBORA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +else: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', + 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + 'SLURM_MPI_TYPE': 'pmix_v4', + } + moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-4.0.5-GCCcore-9.3.0-CUDA-11.2.2.eb b/o/OpenMPI/OpenMPI-4.0.5-GCCcore-9.3.0-CUDA-11.2.2.eb index b9f500b8..3ac16b8a 100644 --- a/o/OpenMPI/OpenMPI-4.0.5-GCCcore-9.3.0-CUDA-11.2.2.eb +++ b/o/OpenMPI/OpenMPI-4.0.5-GCCcore-9.3.0-CUDA-11.2.2.eb @@ -48,4 +48,22 @@ sanity_check_paths = { x for x in [ "mpi-ext", "mpif-config", "mpif", "mpi", "mpi_portable_platform"]], 'dirs': [], } +import os +if os.environ.get("CLUSTERNAME") in ["BARBORA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +else: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', + 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + 'SLURM_MPI_TYPE': 'pmix_v4', + } + moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-4.0.5-NVHPC-21.2-CUDA-11.2.2-UCX-11.1.0-rc2.eb b/o/OpenMPI/OpenMPI-4.0.5-NVHPC-21.2-CUDA-11.2.2-UCX-11.1.0-rc2.eb index 093f9d57..dc53c026 100644 --- a/o/OpenMPI/OpenMPI-4.0.5-NVHPC-21.2-CUDA-11.2.2-UCX-11.1.0-rc2.eb +++ b/o/OpenMPI/OpenMPI-4.0.5-NVHPC-21.2-CUDA-11.2.2-UCX-11.1.0-rc2.eb @@ -29,4 +29,22 @@ configopts += '--enable-mpi-cxx ' # Enable building the C++ MPI bindings configopts += '--with-ucx=$EBROOTUCX ' configopts += '--with-cuda=$EBROOTCUDACORE ' +import os +if os.environ.get("CLUSTERNAME") in ["BARBORA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +else: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', + 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + 'SLURM_MPI_TYPE': 'pmix_v4', + } + moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-4.0.5-NVHPC-21.2-CUDA-11.2.2-test.eb b/o/OpenMPI/OpenMPI-4.0.5-NVHPC-21.2-CUDA-11.2.2-test.eb index f7987761..a095eadd 100644 --- a/o/OpenMPI/OpenMPI-4.0.5-NVHPC-21.2-CUDA-11.2.2-test.eb +++ b/o/OpenMPI/OpenMPI-4.0.5-NVHPC-21.2-CUDA-11.2.2-test.eb @@ -29,4 +29,22 @@ configopts += '--enable-mpi-cxx ' # Enable building the C++ MPI bindings configopts += '--with-ucx=$EBROOTUCX ' configopts += '--with-cuda=$EBROOTCUDACORE ' +import os +if os.environ.get("CLUSTERNAME") in ["BARBORA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +else: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', + 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + 'SLURM_MPI_TYPE': 'pmix_v4', + } + moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-4.0.5-NVHPC-21.2-CUDA-11.2.2.eb b/o/OpenMPI/OpenMPI-4.0.5-NVHPC-21.2-CUDA-11.2.2.eb index 14822bd0..20383bb7 100644 --- a/o/OpenMPI/OpenMPI-4.0.5-NVHPC-21.2-CUDA-11.2.2.eb +++ b/o/OpenMPI/OpenMPI-4.0.5-NVHPC-21.2-CUDA-11.2.2.eb @@ -29,4 +29,22 @@ configopts += '--enable-mpi-cxx ' # Enable building the C++ MPI bindings configopts += '--with-ucx=$EBROOTUCX ' configopts += '--with-cuda=$EBROOTCUDACORE ' +import os +if os.environ.get("CLUSTERNAME") in ["BARBORA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +else: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', + 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + 'SLURM_MPI_TYPE': 'pmix_v4', + } + moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-4.0.5-NVHPC-21.2-CUDA-11.3.0.eb b/o/OpenMPI/OpenMPI-4.0.5-NVHPC-21.2-CUDA-11.3.0.eb index 83165d75..5c358579 100644 --- a/o/OpenMPI/OpenMPI-4.0.5-NVHPC-21.2-CUDA-11.3.0.eb +++ b/o/OpenMPI/OpenMPI-4.0.5-NVHPC-21.2-CUDA-11.3.0.eb @@ -30,4 +30,22 @@ configopts += '--enable-mpi-cxx ' # Enable building the C++ MPI bindings configopts += '--with-ucx=$EBROOTUCX ' configopts += '--with-cuda=$EBROOTCUDACORE ' +import os +if os.environ.get("CLUSTERNAME") in ["BARBORA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +else: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', + 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + 'SLURM_MPI_TYPE': 'pmix_v4', + } + moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-4.0.5-NVHPC-21.2-test.eb b/o/OpenMPI/OpenMPI-4.0.5-NVHPC-21.2-test.eb index 14c1eefe..9a396fc7 100644 --- a/o/OpenMPI/OpenMPI-4.0.5-NVHPC-21.2-test.eb +++ b/o/OpenMPI/OpenMPI-4.0.5-NVHPC-21.2-test.eb @@ -28,5 +28,22 @@ configopts += '--enable-mpi-cxx ' # Enable building the C++ MPI bindings #onfigopts += '--with-ucx=$EBROOTUCX ' configopts += '--with-cuda=$EBROOTNVHPC/Linux_x86_64/21.2/cuda/11.2 ' +import os +if os.environ.get("CLUSTERNAME") in ["BARBORA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +else: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', + 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + 'SLURM_MPI_TYPE': 'pmix_v4', + } moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-4.0.5-NVHPC-21.2.eb b/o/OpenMPI/OpenMPI-4.0.5-NVHPC-21.2.eb index 07a9a723..fb90c10e 100644 --- a/o/OpenMPI/OpenMPI-4.0.5-NVHPC-21.2.eb +++ b/o/OpenMPI/OpenMPI-4.0.5-NVHPC-21.2.eb @@ -27,5 +27,22 @@ configopts += '--enable-mpi-cxx ' # Enable building the C++ MPI bindings configopts += '--with-ucx=$EBROOTUCX ' configopts += '--with-cuda=$EBROOTNVHPC/Linux_x86_64/21.2/cuda/11.2 ' +import os +if os.environ.get("CLUSTERNAME") in ["BARBORA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +else: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', + 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + 'SLURM_MPI_TYPE': 'pmix_v4', + } moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-4.0.5-gcccuda-2020b.eb b/o/OpenMPI/OpenMPI-4.0.5-gcccuda-2020b.eb index 785d1600..9c225e3e 100644 --- a/o/OpenMPI/OpenMPI-4.0.5-gcccuda-2020b.eb +++ b/o/OpenMPI/OpenMPI-4.0.5-gcccuda-2020b.eb @@ -40,4 +40,22 @@ configopts += '--enable-mpi-cxx ' # Enable building the C++ MPI bindings # to enable SLURM integration (site-specific) # configopts += '--with-slurm --with-pmi=/usr/include/slurm --with-pmi-libdir=/usr' +import os +if os.environ.get("CLUSTERNAME") in ["BARBORA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +else: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', + 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + 'SLURM_MPI_TYPE': 'pmix_v4', + } + moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-4.0.5-iccifort-2020.4.304.eb b/o/OpenMPI/OpenMPI-4.0.5-iccifort-2020.4.304.eb index 7d837525..94f763a7 100644 --- a/o/OpenMPI/OpenMPI-4.0.5-iccifort-2020.4.304.eb +++ b/o/OpenMPI/OpenMPI-4.0.5-iccifort-2020.4.304.eb @@ -83,4 +83,22 @@ else: # to enable SLURM integration (site-specific) # configopts += '--with-slurm --with-pmi=/usr/include/slurm --with-pmi-libdir=/usr' +import os +if os.environ.get("CLUSTERNAME") in ["BARBORA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +else: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', + 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + 'SLURM_MPI_TYPE': 'pmix_v4', + } + moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-4.0.6-NVHPC-21.11-CUDA-11.4.1-v2.eb b/o/OpenMPI/OpenMPI-4.0.6-NVHPC-21.11-CUDA-11.4.1-v2.eb index 7610f0cf..41d1fb80 100644 --- a/o/OpenMPI/OpenMPI-4.0.6-NVHPC-21.11-CUDA-11.4.1-v2.eb +++ b/o/OpenMPI/OpenMPI-4.0.6-NVHPC-21.11-CUDA-11.4.1-v2.eb @@ -29,16 +29,22 @@ configopts += '--enable-mpi-cxx ' # Enable building the C++ MPI bindings configopts += '--with-ucx=$EBROOTUCX ' configopts += '--with-cuda=$EBROOTCUDACORE ' -moduleclass = 'mpi' - -#setenv("OMPI_MCA_btl_openib_if_include", "mlx5_0") -#setenv("export OMPI_MCA_btl_openib_allow_ib", "1") -#setenv("OMPI_MCA_pml", "^ucx") -#setenv("OMPI_MCA_orte_base_help_aggregate", "0") import os if os.environ.get("CLUSTERNAME") in ["BARBORA"]: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', - 'OMPI_MCA_btl_openib_allow_ib': '1', + 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', 'OMPI_MCA_orte_base_help_aggregate': '0', - 'OMPI_MCA_pml': '^ucx', + 'SLURM_MPI_TYPE': 'pmix_v4', } +elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +else: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', + 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + 'SLURM_MPI_TYPE': 'pmix_v4', + } + +moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-4.0.6-NVHPC-21.11-CUDA-11.4.1.eb b/o/OpenMPI/OpenMPI-4.0.6-NVHPC-21.11-CUDA-11.4.1.eb index a5a437f1..61a6bcc2 100644 --- a/o/OpenMPI/OpenMPI-4.0.6-NVHPC-21.11-CUDA-11.4.1.eb +++ b/o/OpenMPI/OpenMPI-4.0.6-NVHPC-21.11-CUDA-11.4.1.eb @@ -29,16 +29,22 @@ configopts += '--enable-mpi-cxx ' # Enable building the C++ MPI bindings configopts += '--with-ucx=$EBROOTUCX ' configopts += '--with-cuda=$EBROOTCUDACORE ' -moduleclass = 'mpi' - -#setenv("OMPI_MCA_btl_openib_if_include", "mlx5_0") -#setenv("export OMPI_MCA_btl_openib_allow_ib", "1") -#setenv("OMPI_MCA_pml", "^ucx") -#setenv("OMPI_MCA_orte_base_help_aggregate", "0") import os if os.environ.get("CLUSTERNAME") in ["BARBORA"]: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', - 'OMPI_MCA_btl_openib_allow_ib': '1', + 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', 'OMPI_MCA_orte_base_help_aggregate': '0', - 'OMPI_MCA_pml': '^ucx', + 'SLURM_MPI_TYPE': 'pmix_v4', } +elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +else: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', + 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + 'SLURM_MPI_TYPE': 'pmix_v4', + } + +moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-4.0.6-NVHPC-21.2-CUDA-11.2.2.eb b/o/OpenMPI/OpenMPI-4.0.6-NVHPC-21.2-CUDA-11.2.2.eb index e35462fe..9e16bf22 100644 --- a/o/OpenMPI/OpenMPI-4.0.6-NVHPC-21.2-CUDA-11.2.2.eb +++ b/o/OpenMPI/OpenMPI-4.0.6-NVHPC-21.2-CUDA-11.2.2.eb @@ -29,4 +29,22 @@ configopts += '--enable-mpi-cxx ' # Enable building the C++ MPI bindings configopts += '--with-ucx=$EBROOTUCX ' configopts += '--with-cuda=$EBROOTCUDACORE ' +import os +if os.environ.get("CLUSTERNAME") in ["BARBORA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +else: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', + 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + 'SLURM_MPI_TYPE': 'pmix_v4', + } + moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-4.0.6-NVHPC-21.9-CUDA-11.4.1-v2.eb b/o/OpenMPI/OpenMPI-4.0.6-NVHPC-21.9-CUDA-11.4.1-v2.eb index 41ebb2dc..f54dc195 100644 --- a/o/OpenMPI/OpenMPI-4.0.6-NVHPC-21.9-CUDA-11.4.1-v2.eb +++ b/o/OpenMPI/OpenMPI-4.0.6-NVHPC-21.9-CUDA-11.4.1-v2.eb @@ -30,12 +30,22 @@ configopts += '--enable-mpi-cxx ' # Enable building the C++ MPI bindings configopts += '--with-ucx=$EBROOTUCX ' configopts += '--with-cuda=$EBROOTCUDACORE ' -moduleclass = 'mpi' - import os if os.environ.get("CLUSTERNAME") in ["BARBORA"]: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', - 'OMPI_MCA_btl_openib_allow_ib': '1', + 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', 'OMPI_MCA_orte_base_help_aggregate': '0', - 'OMPI_MCA_pml': '^ucx', + 'SLURM_MPI_TYPE': 'pmix_v4', } +elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +else: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', + 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + 'SLURM_MPI_TYPE': 'pmix_v4', + } + +moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-4.0.6-NVHPC-21.9-CUDA-11.4.1.eb b/o/OpenMPI/OpenMPI-4.0.6-NVHPC-21.9-CUDA-11.4.1.eb index 81d207bc..02bb75cb 100644 --- a/o/OpenMPI/OpenMPI-4.0.6-NVHPC-21.9-CUDA-11.4.1.eb +++ b/o/OpenMPI/OpenMPI-4.0.6-NVHPC-21.9-CUDA-11.4.1.eb @@ -29,16 +29,22 @@ configopts += '--enable-mpi-cxx ' # Enable building the C++ MPI bindings configopts += '--with-ucx=$EBROOTUCX ' configopts += '--with-cuda=$EBROOTCUDACORE ' -moduleclass = 'mpi' - -#setenv("OMPI_MCA_btl_openib_if_include", "mlx5_0") -#setenv("export OMPI_MCA_btl_openib_allow_ib", "1") -#setenv("OMPI_MCA_pml", "^ucx") -#setenv("OMPI_MCA_orte_base_help_aggregate", "0") import os if os.environ.get("CLUSTERNAME") in ["BARBORA"]: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', - 'OMPI_MCA_btl_openib_allow_ib': '1', + 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', 'OMPI_MCA_orte_base_help_aggregate': '0', - 'OMPI_MCA_pml': '^ucx', + 'SLURM_MPI_TYPE': 'pmix_v4', } +elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +else: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', + 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + 'SLURM_MPI_TYPE': 'pmix_v4', + } + +moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-4.0.6-NVHPC-22.2-CUDA-11.6.0.eb b/o/OpenMPI/OpenMPI-4.0.6-NVHPC-22.2-CUDA-11.6.0.eb index 36ace4bf..57e043e9 100644 --- a/o/OpenMPI/OpenMPI-4.0.6-NVHPC-22.2-CUDA-11.6.0.eb +++ b/o/OpenMPI/OpenMPI-4.0.6-NVHPC-22.2-CUDA-11.6.0.eb @@ -29,16 +29,22 @@ configopts += '--enable-mpi-cxx ' # Enable building the C++ MPI bindings configopts += '--with-ucx=$EBROOTUCX ' configopts += '--with-cuda=$EBROOTCUDACORE ' -moduleclass = 'mpi' - -#setenv("OMPI_MCA_btl_openib_if_include", "mlx5_0") -#setenv("export OMPI_MCA_btl_openib_allow_ib", "1") -#setenv("OMPI_MCA_pml", "^ucx") -#setenv("OMPI_MCA_orte_base_help_aggregate", "0") import os if os.environ.get("CLUSTERNAME") in ["BARBORA"]: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', - 'OMPI_MCA_btl_openib_allow_ib': '1', + 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', 'OMPI_MCA_orte_base_help_aggregate': '0', - 'OMPI_MCA_pml': '^ucx', + 'SLURM_MPI_TYPE': 'pmix_v4', } +elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +else: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', + 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + 'SLURM_MPI_TYPE': 'pmix_v4', + } + +moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-4.0.7-GCC-10.2.0-UCX-1.11.2-CUDA-11.4.1.eb b/o/OpenMPI/OpenMPI-4.0.7-GCC-10.2.0-UCX-1.11.2-CUDA-11.4.1.eb index 1cc9e32f..203921cd 100644 --- a/o/OpenMPI/OpenMPI-4.0.7-GCC-10.2.0-UCX-1.11.2-CUDA-11.4.1.eb +++ b/o/OpenMPI/OpenMPI-4.0.7-GCC-10.2.0-UCX-1.11.2-CUDA-11.4.1.eb @@ -29,16 +29,22 @@ configopts += '--enable-mpi-cxx ' # Enable building the C++ MPI bindings configopts += '--with-ucx=$EBROOTUCX ' configopts += '--with-cuda=$EBROOTCUDACORE ' -moduleclass = 'mpi' - -#setenv("OMPI_MCA_btl_openib_if_include", "mlx5_0") -#setenv("export OMPI_MCA_btl_openib_allow_ib", "1") -#setenv("OMPI_MCA_pml", "^ucx") -#setenv("OMPI_MCA_orte_base_help_aggregate", "0") import os if os.environ.get("CLUSTERNAME") in ["BARBORA"]: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', - 'OMPI_MCA_btl_openib_allow_ib': '1', + 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', 'OMPI_MCA_orte_base_help_aggregate': '0', - 'OMPI_MCA_pml': '^ucx', + 'SLURM_MPI_TYPE': 'pmix_v4', } +elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +else: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', + 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + 'SLURM_MPI_TYPE': 'pmix_v4', + } + +moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-4.0.7-GCC-9.3.0-UCX-1.9.0-CUDA-11.4.1.eb b/o/OpenMPI/OpenMPI-4.0.7-GCC-9.3.0-UCX-1.9.0-CUDA-11.4.1.eb index a4dfafea..376da833 100644 --- a/o/OpenMPI/OpenMPI-4.0.7-GCC-9.3.0-UCX-1.9.0-CUDA-11.4.1.eb +++ b/o/OpenMPI/OpenMPI-4.0.7-GCC-9.3.0-UCX-1.9.0-CUDA-11.4.1.eb @@ -29,16 +29,22 @@ configopts += '--enable-mpi-cxx ' # Enable building the C++ MPI bindings configopts += '--with-ucx=$EBROOTUCX ' configopts += '--with-cuda=$EBROOTCUDACORE ' -moduleclass = 'mpi' - -#setenv("OMPI_MCA_btl_openib_if_include", "mlx5_0") -#setenv("export OMPI_MCA_btl_openib_allow_ib", "1") -#setenv("OMPI_MCA_pml", "^ucx") -#setenv("OMPI_MCA_orte_base_help_aggregate", "0") import os if os.environ.get("CLUSTERNAME") in ["BARBORA"]: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', - 'OMPI_MCA_btl_openib_allow_ib': '1', + 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', 'OMPI_MCA_orte_base_help_aggregate': '0', - 'OMPI_MCA_pml': '^ucx', + 'SLURM_MPI_TYPE': 'pmix_v4', } +elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +else: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', + 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + 'SLURM_MPI_TYPE': 'pmix_v4', + } + +moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-4.0.7-NVHPC-21.9-CUDA-11.4.1.eb b/o/OpenMPI/OpenMPI-4.0.7-NVHPC-21.9-CUDA-11.4.1.eb index 52896ed0..dd7bd1ea 100644 --- a/o/OpenMPI/OpenMPI-4.0.7-NVHPC-21.9-CUDA-11.4.1.eb +++ b/o/OpenMPI/OpenMPI-4.0.7-NVHPC-21.9-CUDA-11.4.1.eb @@ -29,16 +29,22 @@ configopts += '--enable-mpi-cxx ' # Enable building the C++ MPI bindings configopts += '--with-ucx=$EBROOTUCX ' configopts += '--with-cuda=$EBROOTCUDACORE ' -moduleclass = 'mpi' - -#setenv("OMPI_MCA_btl_openib_if_include", "mlx5_0") -#setenv("export OMPI_MCA_btl_openib_allow_ib", "1") -#setenv("OMPI_MCA_pml", "^ucx") -#setenv("OMPI_MCA_orte_base_help_aggregate", "0") import os if os.environ.get("CLUSTERNAME") in ["BARBORA"]: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', - 'OMPI_MCA_btl_openib_allow_ib': '1', + 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', 'OMPI_MCA_orte_base_help_aggregate': '0', - 'OMPI_MCA_pml': '^ucx', + 'SLURM_MPI_TYPE': 'pmix_v4', } +elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +else: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', + 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + 'SLURM_MPI_TYPE': 'pmix_v4', + } + +moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-4.1.1-AOCC-3.1.0.eb b/o/OpenMPI/OpenMPI-4.1.1-AOCC-3.1.0.eb index ece8b07a..8d506cfc 100644 --- a/o/OpenMPI/OpenMPI-4.1.1-AOCC-3.1.0.eb +++ b/o/OpenMPI/OpenMPI-4.1.1-AOCC-3.1.0.eb @@ -52,14 +52,17 @@ if os.environ.get("CLUSTERNAME") in ["BARBORA"]: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', } elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', } else: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + 'SLURM_MPI_TYPE': 'pmix_v4', } moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-4.1.1-AOCL-3.0.1-AOCC-3.1.0.eb b/o/OpenMPI/OpenMPI-4.1.1-AOCL-3.0.1-AOCC-3.1.0.eb index 8eb859cb..52c59617 100644 --- a/o/OpenMPI/OpenMPI-4.1.1-AOCL-3.0.1-AOCC-3.1.0.eb +++ b/o/OpenMPI/OpenMPI-4.1.1-AOCL-3.0.1-AOCC-3.1.0.eb @@ -50,14 +50,17 @@ if os.environ.get("CLUSTERNAME") in ["BARBORA"]: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', } elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', } else: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + 'SLURM_MPI_TYPE': 'pmix_v4', } moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-4.1.1-GCC-10.2.0-Java-1.8.0_221.eb b/o/OpenMPI/OpenMPI-4.1.1-GCC-10.2.0-Java-1.8.0_221.eb index 91ba03e1..fb40efb5 100644 --- a/o/OpenMPI/OpenMPI-4.1.1-GCC-10.2.0-Java-1.8.0_221.eb +++ b/o/OpenMPI/OpenMPI-4.1.1-GCC-10.2.0-Java-1.8.0_221.eb @@ -56,10 +56,17 @@ if os.environ.get("CLUSTERNAME") in ["BARBORA"]: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', } else: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + 'SLURM_MPI_TYPE': 'pmix_v4', } moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-4.1.1-GCC-10.2.0-test.eb b/o/OpenMPI/OpenMPI-4.1.1-GCC-10.2.0-test.eb index f328d333..0071d960 100644 --- a/o/OpenMPI/OpenMPI-4.1.1-GCC-10.2.0-test.eb +++ b/o/OpenMPI/OpenMPI-4.1.1-GCC-10.2.0-test.eb @@ -54,14 +54,18 @@ if os.environ.get("CLUSTERNAME") in ["BARBORA"]: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', } elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', } else: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + 'SLURM_MPI_TYPE': 'pmix_v4', } + moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-4.1.1-GCC-10.2.0.eb b/o/OpenMPI/OpenMPI-4.1.1-GCC-10.2.0.eb index 856f4b79..57f23d01 100644 --- a/o/OpenMPI/OpenMPI-4.1.1-GCC-10.2.0.eb +++ b/o/OpenMPI/OpenMPI-4.1.1-GCC-10.2.0.eb @@ -53,14 +53,17 @@ if os.environ.get("CLUSTERNAME") in ["BARBORA"]: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', } elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', } else: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + 'SLURM_MPI_TYPE': 'pmix_v4', } moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-4.1.1-GCC-10.3.0.eb b/o/OpenMPI/OpenMPI-4.1.1-GCC-10.3.0.eb index da6d1c42..14f43d71 100644 --- a/o/OpenMPI/OpenMPI-4.1.1-GCC-10.3.0.eb +++ b/o/OpenMPI/OpenMPI-4.1.1-GCC-10.3.0.eb @@ -53,14 +53,17 @@ if os.environ.get("CLUSTERNAME") in ["BARBORA"]: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', } elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', } else: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + 'SLURM_MPI_TYPE': 'pmix_v4', } moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-4.1.1-GCC-11.2.0.eb b/o/OpenMPI/OpenMPI-4.1.1-GCC-11.2.0.eb index d8cbdfb7..6ce24ce5 100644 --- a/o/OpenMPI/OpenMPI-4.1.1-GCC-11.2.0.eb +++ b/o/OpenMPI/OpenMPI-4.1.1-GCC-11.2.0.eb @@ -85,14 +85,17 @@ if os.environ.get("CLUSTERNAME") in ["BARBORA"]: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', } elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', } else: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + 'SLURM_MPI_TYPE': 'pmix_v4', } moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-4.1.2-GCC-11.2.0-Java-1.8.0_221.eb b/o/OpenMPI/OpenMPI-4.1.2-GCC-11.2.0-Java-1.8.0_221.eb index f80f359a..079537cb 100644 --- a/o/OpenMPI/OpenMPI-4.1.2-GCC-11.2.0-Java-1.8.0_221.eb +++ b/o/OpenMPI/OpenMPI-4.1.2-GCC-11.2.0-Java-1.8.0_221.eb @@ -60,14 +60,17 @@ if os.environ.get("CLUSTERNAME") in ["BARBORA"]: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', } elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', } else: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + 'SLURM_MPI_TYPE': 'pmix_v4', } moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-4.1.2-GCC-11.2.0.eb b/o/OpenMPI/OpenMPI-4.1.2-GCC-11.2.0.eb index 4808e0b1..0c6300e9 100644 --- a/o/OpenMPI/OpenMPI-4.1.2-GCC-11.2.0.eb +++ b/o/OpenMPI/OpenMPI-4.1.2-GCC-11.2.0.eb @@ -57,14 +57,17 @@ if os.environ.get("CLUSTERNAME") in ["BARBORA"]: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', } elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', } else: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + 'SLURM_MPI_TYPE': 'pmix_v4', } moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-4.1.2-NVHPC-22.2-CUDA-11.6.0-v2.eb b/o/OpenMPI/OpenMPI-4.1.2-NVHPC-22.2-CUDA-11.6.0-v2.eb index e9eb216f..1d87b49c 100644 --- a/o/OpenMPI/OpenMPI-4.1.2-NVHPC-22.2-CUDA-11.6.0-v2.eb +++ b/o/OpenMPI/OpenMPI-4.1.2-NVHPC-22.2-CUDA-11.6.0-v2.eb @@ -29,16 +29,22 @@ configopts += '--enable-mpi-cxx ' # Enable building the C++ MPI bindings configopts += '--with-ucx=$EBROOTUCX ' configopts += '--with-cuda=$EBROOTCUDACORE ' -moduleclass = 'mpi' - -#setenv("OMPI_MCA_btl_openib_if_include", "mlx5_0") -#setenv("export OMPI_MCA_btl_openib_allow_ib", "1") -#setenv("OMPI_MCA_pml", "^ucx") -#setenv("OMPI_MCA_orte_base_help_aggregate", "0") import os if os.environ.get("CLUSTERNAME") in ["BARBORA"]: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', - 'OMPI_MCA_btl_openib_allow_ib': '1', + 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', 'OMPI_MCA_orte_base_help_aggregate': '0', - 'OMPI_MCA_pml': '^ucx', + 'SLURM_MPI_TYPE': 'pmix_v4', } +elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +else: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', + 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + 'SLURM_MPI_TYPE': 'pmix_v4', + } + +moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-4.1.2-NVHPC-22.2-CUDA-11.6.0.eb b/o/OpenMPI/OpenMPI-4.1.2-NVHPC-22.2-CUDA-11.6.0.eb index 05b7af76..df16bf5d 100644 --- a/o/OpenMPI/OpenMPI-4.1.2-NVHPC-22.2-CUDA-11.6.0.eb +++ b/o/OpenMPI/OpenMPI-4.1.2-NVHPC-22.2-CUDA-11.6.0.eb @@ -29,16 +29,22 @@ configopts += '--enable-mpi-cxx ' # Enable building the C++ MPI bindings configopts += '--with-ucx=$EBROOTUCX ' configopts += '--with-cuda=$EBROOTCUDACORE ' -moduleclass = 'mpi' - -#setenv("OMPI_MCA_btl_openib_if_include", "mlx5_0") -#setenv("export OMPI_MCA_btl_openib_allow_ib", "1") -#setenv("OMPI_MCA_pml", "^ucx") -#setenv("OMPI_MCA_orte_base_help_aggregate", "0") import os if os.environ.get("CLUSTERNAME") in ["BARBORA"]: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', - 'OMPI_MCA_btl_openib_allow_ib': '1', + 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', 'OMPI_MCA_orte_base_help_aggregate': '0', - 'OMPI_MCA_pml': '^ucx', + 'SLURM_MPI_TYPE': 'pmix_v4', } +elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +else: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', + 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + 'SLURM_MPI_TYPE': 'pmix_v4', + } + +moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-4.1.4-GCC-11.3.0-CUDA-11.7.0.eb b/o/OpenMPI/OpenMPI-4.1.4-GCC-11.3.0-CUDA-11.7.0.eb index 773e1b1d..b76044fe 100644 --- a/o/OpenMPI/OpenMPI-4.1.4-GCC-11.3.0-CUDA-11.7.0.eb +++ b/o/OpenMPI/OpenMPI-4.1.4-GCC-11.3.0-CUDA-11.7.0.eb @@ -70,16 +70,17 @@ if os.environ.get("CLUSTERNAME") in ["BARBORA"]: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', } elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', 'OMPI_MCA_orte_base_help_aggregate': '0', - 'UCX_IB_GPU_DIRECT_RDMA': '1', - 'UCX_MEM_CUDA_HOOK_MODE': 'none', + 'SLURM_MPI_TYPE': 'pmix_v4', } else: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + 'SLURM_MPI_TYPE': 'pmix_v4', } moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-4.1.4-GCC-11.3.0.eb b/o/OpenMPI/OpenMPI-4.1.4-GCC-11.3.0.eb index bbd81cb9..695f9b18 100644 --- a/o/OpenMPI/OpenMPI-4.1.4-GCC-11.3.0.eb +++ b/o/OpenMPI/OpenMPI-4.1.4-GCC-11.3.0.eb @@ -66,14 +66,17 @@ if os.environ.get("CLUSTERNAME") in ["BARBORA"]: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', } elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', } else: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + 'SLURM_MPI_TYPE': 'pmix_v4', } moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-4.1.4-GCC-12.2.0.eb b/o/OpenMPI/OpenMPI-4.1.4-GCC-12.2.0.eb index 9789f8ec..75d32d67 100644 --- a/o/OpenMPI/OpenMPI-4.1.4-GCC-12.2.0.eb +++ b/o/OpenMPI/OpenMPI-4.1.4-GCC-12.2.0.eb @@ -86,14 +86,17 @@ if os.environ.get("CLUSTERNAME") in ["BARBORA"]: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', } elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', } else: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + 'SLURM_MPI_TYPE': 'pmix_v4', } moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-4.1.4-NVHPC-22.7-CUDA-11.7.0.eb b/o/OpenMPI/OpenMPI-4.1.4-NVHPC-22.7-CUDA-11.7.0.eb index 98a48e1e..2d0f0e67 100644 --- a/o/OpenMPI/OpenMPI-4.1.4-NVHPC-22.7-CUDA-11.7.0.eb +++ b/o/OpenMPI/OpenMPI-4.1.4-NVHPC-22.7-CUDA-11.7.0.eb @@ -90,19 +90,22 @@ sanity_check_paths = { x for x in [ "mpi-ext", "mpif-config", "mpif", "mpi", "mpi_portable_platform"]], 'dirs': [], } -import os +mport os if os.environ.get("CLUSTERNAME") in ["BARBORA"]: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', } elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', } else: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + 'SLURM_MPI_TYPE': 'pmix_v4', } moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-4.1.5-GCC-12.3.0.eb b/o/OpenMPI/OpenMPI-4.1.5-GCC-12.3.0.eb index f54e9e48..6d690c17 100644 --- a/o/OpenMPI/OpenMPI-4.1.5-GCC-12.3.0.eb +++ b/o/OpenMPI/OpenMPI-4.1.5-GCC-12.3.0.eb @@ -1,3 +1,6 @@ +# IT4Innovations +# LK 2023 + name = 'OpenMPI' version = '4.1.5' @@ -59,4 +62,23 @@ configopts = '--with-cuda=internal ' # to enable SLURM integration (site-specific) # configopts += '--with-slurm --with-pmi=/usr/include/slurm --with-pmi-libdir=/usr' +import os +if os.environ.get("CLUSTERNAME") in ["BARBORA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +else: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', + 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + 'SLURM_MPI_TYPE': 'pmix_v4', + } + + moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-4.1.5-NVHPC-23.5-CUDA-12.2.0-dgx.eb b/o/OpenMPI/OpenMPI-4.1.5-NVHPC-23.5-CUDA-12.2.0-dgx.eb index c48362d1..6631fd17 100644 --- a/o/OpenMPI/OpenMPI-4.1.5-NVHPC-23.5-CUDA-12.2.0-dgx.eb +++ b/o/OpenMPI/OpenMPI-4.1.5-NVHPC-23.5-CUDA-12.2.0-dgx.eb @@ -92,19 +92,22 @@ sanity_check_paths = { x for x in [ "mpi-ext", "mpif-config", "mpif", "mpi", "mpi_portable_platform"]], 'dirs': [], } -import os +mport os if os.environ.get("CLUSTERNAME") in ["BARBORA"]: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', } elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', } else: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + 'SLURM_MPI_TYPE': 'pmix_v4', } moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-4.1.5-NVHPC-23.5-CUDA-12.2.0-test.eb b/o/OpenMPI/OpenMPI-4.1.5-NVHPC-23.5-CUDA-12.2.0-test.eb index 6750cf50..e08b8f47 100644 --- a/o/OpenMPI/OpenMPI-4.1.5-NVHPC-23.5-CUDA-12.2.0-test.eb +++ b/o/OpenMPI/OpenMPI-4.1.5-NVHPC-23.5-CUDA-12.2.0-test.eb @@ -100,14 +100,18 @@ if os.environ.get("CLUSTERNAME") in ["BARBORA"]: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', } elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', } else: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + 'SLURM_MPI_TYPE': 'pmix_v4', } + moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-4.1.5-NVHPC-23.5-CUDA-12.2.0.eb b/o/OpenMPI/OpenMPI-4.1.5-NVHPC-23.5-CUDA-12.2.0.eb index d7895304..cf882f59 100644 --- a/o/OpenMPI/OpenMPI-4.1.5-NVHPC-23.5-CUDA-12.2.0.eb +++ b/o/OpenMPI/OpenMPI-4.1.5-NVHPC-23.5-CUDA-12.2.0.eb @@ -3,6 +3,7 @@ name = 'OpenMPI' version = '4.1.5' +versionsuffix = '-CUDA-12.2.0' homepage = 'https://www.open-mpi.org/' description = """The Open MPI Project is an open source MPI-3 implementation.""" @@ -99,14 +100,17 @@ if os.environ.get("CLUSTERNAME") in ["BARBORA"]: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', } elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', } else: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + 'SLURM_MPI_TYPE': 'pmix_v4', } moduleclass = 'mpi' diff --git a/q/QD/QD-2.3.17-NVHPC-23.5.eb b/q/QD/QD-2.3.17-NVHPC-23.5.eb new file mode 100644 index 00000000..7894b1de --- /dev/null +++ b/q/QD/QD-2.3.17-NVHPC-23.5.eb @@ -0,0 +1,24 @@ +# IT4Innovations +# LK 2023 + +easyblock = 'ConfigureMake' + +name = 'QD' +version = '2.3.17' +local_gitcommit = 'a5dbb61' + +homepage = 'https://github.com/scibuilder/QD' +description = "Quad Double computation package" + +toolchain = {'name': 'NVHPC', 'version': '23.5'} + +source_urls = ['https://github.com/scibuilder/QD/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_gitcommit, 'filename': SOURCE_TAR_GZ}] +checksums = ['1e5949b7d20434193d496c28070d8f2fb6406a7688a86080dfdac57fbe730624'] + +sanity_check_paths = { + 'files': ['lib/lib%s.a' % x for x in ['qdmod', 'qd']], + 'dirs': [] +} + +moduleclass = 'math' diff --git a/s/ScaLAPACK/ScaLAPACK-3.0-NVHPC-23.5-CUDA-12.2.0.eb b/s/ScaLAPACK/ScaLAPACK-3.0-NVHPC-23.5-CUDA-12.2.0.eb new file mode 100644 index 00000000..9f0082ba --- /dev/null +++ b/s/ScaLAPACK/ScaLAPACK-3.0-NVHPC-23.5-CUDA-12.2.0.eb @@ -0,0 +1,50 @@ +# IT4Innovations +# LK 2023 + +easyblock = 'CMakeMake' + +name = 'ScaLAPACK' +version = '3.0' +versionsuffix = '-CUDA-12.2.0' + +homepage = 'https://www.netlib.org/scalapack/' +description = """The ScaLAPACK (or Scalable LAPACK) library includes a subset of LAPACK routines +redesigned for distributed memory MIMD parallel computers.""" + +toolchain = {'name': 'NVHPC', 'version': '23.5'} +toolchainopts = {'pic': True} + +# https://github.com/amd/scalapack/archive/3.0.tar.gz +source_urls = ['https://github.com/amd/scalapack/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['6e6f3578f44a8e64518d276e7580530599ecfa8729f568303ed2590688e7096f'] + +builddependencies = [ + ('CMake', '3.24.3'), +] + +dependencies = [ + ('OpenMPI', '4.1.5', '-CUDA-12.2.0'), + ('BLIS', '3.1', '-amd'), + ('libFLAME', '5.2.0'), +] + +# Config Opts based on AOCL User Guide: +# https://developer.amd.com/wp-content/resources/AOCL_User%20Guide_2.2.pdf + +configopts = '-DBUILD_SHARED_LIBS=ON ' +configopts += '-DBLAS_LIBRARIES="$EBROOTBLIS/lib/libblis-mt.a" ' +configopts += '-DLAPACK_LIBRARIES="$EBROOTLIBFLAME/lib/libflame.a" ' +configopts += '-DCMAKE_C_COMPILER=mpicc ' +configopts += '-DCMAKE_Fortran_COMPILER=mpif90 ' +configopts += '-DUSE_OPTIMIZED_LAPACK_BLAS=ON ' +configopts += '-DUSE_F2C=ON ' +configopts += '-DCMAKE_Fortran_FLAGS="-lpthread -fopenmp $DCMAKE_Fortran_FLAGS" ' + +sanity_check_paths = { + 'files': ['lib/libscalapack.%s' % SHLIB_EXT, 'lib64/libscalapack.%s' % SHLIB_EXT], + 'dirs': ["lib", "lib64"], +} + + +moduleclass = 'numlib' diff --git a/u/UCC-CUDA/UCC-CUDA-1.1.0-GCCcore-12.2.0-CUDA-12.2.0.eb b/u/UCC-CUDA/UCC-CUDA-1.1.0-GCCcore-12.2.0-CUDA-12.2.0.eb index 36518e8e..5a5ffbf2 100644 --- a/u/UCC-CUDA/UCC-CUDA-1.1.0-GCCcore-12.2.0-CUDA-12.2.0.eb +++ b/u/UCC-CUDA/UCC-CUDA-1.1.0-GCCcore-12.2.0-CUDA-12.2.0.eb @@ -40,7 +40,7 @@ dependencies = [ ('UCC', '1.1.0'), ('CUDA', '12.2.0', '', SYSTEM), ('UCX-CUDA', '1.14.1', '-CUDA-%(cudaver)s'), - ('NCCL', '2.16.2', '-CUDA-%(cudaver)s'), + ('NCCL', '2.18.3', '-CUDA-%(cudaver)s', SYSTEM), ] preconfigopts = "./autogen.sh && " diff --git a/v/VASP/VASP-6.4.2-NVHPC-23.5-CUDA-12.2.0-adjust-makefile.patch b/v/VASP/VASP-6.4.2-NVHPC-23.5-CUDA-12.2.0-adjust-makefile.patch new file mode 100644 index 00000000..84ec0a45 --- /dev/null +++ b/v/VASP/VASP-6.4.2-NVHPC-23.5-CUDA-12.2.0-adjust-makefile.patch @@ -0,0 +1,65 @@ +# IT4Innovations +# LK 2023 + +Does not include W90 because of the problems during compilation. +--- arch/makefile.include.nvhpc_acc.orig 2022-09-02 21:28:42.393086358 +0200 ++++ arch/makefile.include.nvhpc_acc 2022-09-02 21:28:48.142969028 +0200 +@@ -16,8 +16,8 @@ + + # N.B.: you might need to change the cuda-version here + # to one that comes with your NVIDIA-HPC SDK +-FC = mpif90 -acc -gpu=cc60,cc70,cc80,cuda11.0 +-FCL = mpif90 -acc -gpu=cc60,cc70,cc80,cuda11.0 -c++libs ++FC = mpif90 -acc -gpu=cc60,cc70,cc80,cuda12.1 ++FCL = mpif90 -acc -gpu=cc60,cc70,cc80,cuda12.1 -c++libs + + FREE = -Mfree + +@@ -60,19 +60,19 @@ + + # Specify your NV HPC-SDK installation (mandatory) + #... first try to set it automatically +-NVROOT =$(shell which nvfortran | awk -F /compilers/bin/nvfortran '{ print $$1 }') ++#NVROOT =$(shell which nvfortran | awk -F /compilers/bin/nvfortran '{ print $$1 }') + + # If the above fails, then NVROOT needs to be set manually +-#NVHPC ?= /opt/nvidia/hpc_sdk +-#NVVERSION = 21.11 +-#NVROOT = $(NVHPC)/Linux_x86_64/$(NVVERSION) ++NVHPC ?= ${EBROOTNVHPC} ++NVVERSION = ${EBVERSIONNVHPC} ++NVROOT = $(NVHPC)/Linux_x86_64/$(NVVERSION) + + ## Improves performance when using NV HPC-SDK >=21.11 and CUDA >11.2 +-#OFLAG_IN = -fast -Mwarperf +-#SOURCE_IN := nonlr.o ++OFLAG_IN = -fast -Mwarperf ++SOURCE_IN := nonlr.o + + # Software emulation of quadruple precsion (mandatory) +-QD ?= $(NVROOT)/compilers/extras/qd ++QD ?= ${EBROOTQD} + LLIBS += -L$(QD)/lib -lqdmod -lqd + INCS += -I$(QD)/include/qd + +@@ -88,15 +88,15 @@ + LLIBS += $(SCALAPACK) $(LAPACK) $(BLAS) + + # FFTW (mandatory) +-FFTW_ROOT ?= /path/to/your/fftw/installation ++FFTW_ROOT ?= ${EBROOTFFTWMPI} + LLIBS += -L$(FFTW_ROOT)/lib -lfftw3 + INCS += -I$(FFTW_ROOT)/include + + # HDF5-support (optional but strongly recommended) +-#CPP_OPTIONS+= -DVASP_HDF5 +-#HDF5_ROOT ?= /path/to/your/hdf5/installation +-#LLIBS += -L$(HDF5_ROOT)/lib -lhdf5_fortran +-#INCS += -I$(HDF5_ROOT)/include ++CPP_OPTIONS+= -DVASP_HDF5 ++HDF5_ROOT ?= ${EBROOTHDF5} ++LLIBS += -L$(HDF5_ROOT)/lib -lhdf5_fortran ++INCS += -I$(HDF5_ROOT)/include + + # For the VASP-2-Wannier90 interface (optional) + #CPP_OPTIONS += -DVASP2WANNIER90 diff --git a/v/VASP/VASP-6.4.2-NVHPC-23.5-CUDA-12.2.0.eb b/v/VASP/VASP-6.4.2-NVHPC-23.5-CUDA-12.2.0.eb new file mode 100644 index 00000000..bb382390 --- /dev/null +++ b/v/VASP/VASP-6.4.2-NVHPC-23.5-CUDA-12.2.0.eb @@ -0,0 +1,73 @@ +# IT4Innovations +# LK 2023 + +easyblock = 'MakeCp' + +name = 'VASP' +version = '6.4.2' +local_cudaversion = '12.2.0' +versionsuffix = '-CUDA-%s' % local_cudaversion + +homepage = 'https://www.vasp.at' +docurls = 'https://www.vasp.at/wiki/index.php/The_VASP_Manual' +description = """ +The Vienna Ab initio Simulation Package (VASP) is a local computer program for atomic scale +materials modelling, e.g. electronic structure calculations and quantum-mechanical molecular dynamics, +from first principles. + +This is a GPU-enabled build. + +To use VASP, you need an academic license from University of Vienna. +Follow the instructions at https://www.vasp.at/index.php/faqs. + +Please send us the ID of your VASP license, list of authorized users for whom you require access, +and their email which is associated with your license (use only https://support.it4i.cz/rt). +We are responsible for verifying your licenses. +""" + +toolchain = {'name': 'NVHPC', 'version': '23.5'} +toolchainopts = {'pic': True} + +# Vasp is proprietary software, see http://www.vasp.at/index.php/faqs on +# how to get access to the code +sources = ['%(namelower)s.%(version)s.tgz'] +patches = ['VASP-%(version)s-NVHPC-23.5-CUDA-12.2.0-adjust-makefile.patch'] +checksums = [ + {'vasp.%(version)s.tgz': 'b704637f7384673f91adfbc803edc5cc7fe736d9623453461f7cdc29b123410e'}, + {'VASP-%(version)s-NVHPC-23.5-CUDA-12.2.0-adjust-makefile.patch': + 'dfc717642ae2ce9b04ed78439fc4d1072dc0d08df4aca2da881b944f2e75625e'}, +] + +dependencies = [ + ('OpenMPI', '4.1.5', '-CUDA-12.2.0'), + ('FFTW.MPI', '3.3.10', '-CUDA-12.2.0'), + ('FFTW', '3.3.10', '-CUDA-12.2.0'), + ('imkl', '2022.2.1', '', True), + ('ScaLAPACK', '3.0', '-CUDA-12.2.0'), + ('HDF5', '1.14.0'), + ('QD', '2.3.17'), +] + +prebuildopts = 'cp arch/makefile.include.nvhpc_acc ./makefile.include && ' + +# VASP uses LIBS as a list of folders +prebuildopts += 'unset LIBS && ' + +buildopts = 'std gam ncl ' + +parallel = 1 + +files_to_copy = [(['bin/vasp_std', 'bin/vasp_gam', 'bin/vasp_ncl'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/vasp_std', 'bin/vasp_gam', 'bin/vasp_ncl'], + 'dirs': [] +} + +modluafooter = """ +add_property('state','license') +add_property('arch', 'gpu') +""" + + +moduleclass = 'chem'