diff --git a/etc/platform-configs/vulcan/compiler/gnu b/etc/platform-configs/vulcan/compiler/gnu new file mode 100644 index 0000000..a2c385d --- /dev/null +++ b/etc/platform-configs/vulcan/compiler/gnu @@ -0,0 +1,3 @@ +#!/bin/bash +COMPILER_OPTS="CC=gcc CXX=g++ F77=gfortran FC=gfortran" +COMPILER_VERSION_CMD="gcc -dumpversion" diff --git a/etc/platform-configs/vulcan/compiler/intel b/etc/platform-configs/vulcan/compiler/intel new file mode 100644 index 0000000..846d854 --- /dev/null +++ b/etc/platform-configs/vulcan/compiler/intel @@ -0,0 +1,3 @@ +#!/bin/bash +COMPILER_OPTS="CC=icc CXX=icpc F77=ifort FC=ifort" +COMPILER_VERSION_CMD="icc -dumpversion" diff --git a/etc/platform-configs/vulcan/compiler/llwm b/etc/platform-configs/vulcan/compiler/llwm new file mode 100644 index 0000000..9307322 --- /dev/null +++ b/etc/platform-configs/vulcan/compiler/llwm @@ -0,0 +1,3 @@ +#!/bin/bash +COMPILER_OPTS="CC=clang CXX=clang++" +COMPILER_VERSION_CMD="llvm-config --version" diff --git a/etc/platform-configs/vulcan/compiler/pgi b/etc/platform-configs/vulcan/compiler/pgi new file mode 100644 index 0000000..4891bef --- /dev/null +++ b/etc/platform-configs/vulcan/compiler/pgi @@ -0,0 +1,3 @@ +#!/bin/bash +COMPILER_OPTS="CC=pgcc CXX=pgCC FC=pgf95 F90=pgf90 F77=pgf77" +COMPILER_VERSION_CMD="pgcc -V | awk '/pgcc/{print \$2}' | sed -e 's/-/./'" diff --git a/etc/platform-configs/vulcan/compiler/system b/etc/platform-configs/vulcan/compiler/system new file mode 120000 index 0000000..9893768 --- /dev/null +++ b/etc/platform-configs/vulcan/compiler/system @@ -0,0 +1 @@ +gnu \ No newline at end of file diff --git a/etc/platform-configs/vulcan/package-list b/etc/platform-configs/vulcan/package-list new file mode 100644 index 0000000..a38ec7b --- /dev/null +++ b/etc/platform-configs/vulcan/package-list @@ -0,0 +1,74 @@ +# comment line +# also ignore blank lines + +# seperate different versions of a module by ',' +compiler/gnu/(4.6.3,4.7.3): +# the following line is eqivalent to +# compiler/gnu/4.6.3: +# compiler/gnu/4.7.3: + +compiler/intel/13.1.2: + +mpi/openmpi/(1.6.4,1.7.1): compiler/gnu/(4.6.3,4.7.3) +mpi/openmpi/(1.6.4,1.7.1): compiler/intel/13.1.2 +# build every version with all listed compilers: +# mpi/openmpi/1.6.4: compiler/gnu/4.6.3 +# mpi/openmpi/1.6.4: compiler/gnu/4.7.3 +# mpi/openmpi/1.6.4: compiler/intel/13.1.2 +# mpi/openmpi/1.7.1: compiler/gnu/4.6.3 +# mpi/openmpi/1.7.1: compiler/gnu/4.7.3 +# mpi/openmpi/1.7.1: compiler/intel/13.1.2 + +numlib/mkl/3.3.0: mpi/openmpi/(1.6.4,1.7.1) + +performance/extrae/2.3: mpi/openmpi/1.6.4{compiler/gnu/4.6.3} | cuda/(4.2,5.0) +performance/extrae/2.3: mpi/openmpi/1.7.1{compiler/intel/13.1.2} | cuda/(4.2,5.0) +# performance/extrae/2.3: mpi/openmpi/1.6.4 cuda/4.2 +# performance/extrae/2.3: mpi/openmpi/1.6.4 cuda/5.0 +# performance/extrae/2.3: mpi/openmpi/1.7.1 cuda/4.2 +# performance/extrae/2.3: mpi/openmpi/1.7.1 cuda/5.0 + +performance/vampirtrace/(5.14.3,5.14.4): mpi/openmpi/(1.6.4) | cuda/(4.2,5.0) | numlib/mkl/3.3.0{mpi/openmpi/1.6.4{compiler/gnu/4.6.3}} | compiler/gnu/4.6.3 +# performance/vampirtrace/5.14.3: mpi/openmpi/1.6.4 cuda/4.2 +# performance/vampirtrace/5.14.3: mpi/openmpi/1.6.4 cuda/5.0 +# performance/vampirtrace/5.14.4: mpi/openmpi/1.6.4 cuda/4.2 +# performance/vampirtrace/5.14.4: mpi/openmpi/1.6.4 cuda/5.0 +performance/vampirtrace/(5.14.3,5.14.4): mpi/openmpi/(1.7.1) | cuda/(4.2,5.0) | numlib/mkl/3.3.0{mpi/openmpi/1.7.1{compiler/gnu/4.6.3}} +# performance/vampirtrace/5.14.3: mpi/openmpi/1.7.1 cuda/4.2 +# performance/vampirtrace/5.14.3: mpi/openmpi/1.7.1 cuda/5.0 +# performance/vampirtrace/5.14.4: mpi/openmpi/1.7.1 cuda/4.2 +# performance/vampirtrace/5.14.4: mpi/openmpi/1.7.1 cuda/5.0 + + +# Open issues for later ;) +# +# How to handle inherited dependencies +# *: mpi/openmpi/1.6.4{gnu,intel} ???? +# performance/vampirtrace/5.14.4: mpi/openmpi/1.6.4->compiler/gnu/4.6.3 cuda/4.2 +# performance/vampirtrace/5.14.4: mpi/openmpi/1.6.4->compiler/gnu/4.7.1 cuda/4.2 +# performance/vampirtrace/5.14.4: mpi/openmpi/1.6.4->compiler/intel/13.1.2 cuda/4.2 +# +# *: mpi/openmpi/1.6.4 +# is equivalent to +# *: mpi/openmpi/1.6.4{*} +# +# numlib/fftw/3.3.0: mpi/openmpi/(1.6.4,1.7.1) +# # numlib/fftw/3.3.0: mpi/openmpi/1.6.4 +# # numlib/fftw/3.3.0: mpi/openmpi/1.7.1 +# +# performance/vampirtrace/5.14.4: mpi/openmpi/(1.6.4,1.7.1) | numlib/fftw/3.3.0{1.6.4,1.7.1} +# # performance/vampirtrace/5.14.4: mpi/openmpi/1.6.4 numlib/fftw/3.3.0 mpi/openmpi/1.6.4 +# # performance/vampirtrace/5.14.4: mpi/openmpi/1.7.1 numlib/fftw/3.3.0{mpi/openmpi/1.7.1{compiler/intel/13.1.2}} +# +# How to create installation paths including dependencies? +# Current +# --prefix=performance/vampirtrace/5.14.3/mpi/openmpi-1.6.4-gnu-4.6.3-cuda-4.2 +# --prefix=performance/vampirtrace/5.14.3/cuda/4.2/mpi/openmpi/1.6.4 +# --prefix=performance/vampirtrace/5.14.3/mpi/openmpi/1.6.4/cuda/4.2 +# +# specify module tags in [] +# be aware of default->version association; current and past! +# compiler/gnu/(4.6.3[testing],4.7.3[default]): +# the following two lines are then identical: +# mpi/openmpi/1.6.4: compiler/gnu/4.6.3 +# mpi/openmpi/1.6.4: compiler/gnu/testing diff --git a/sit b/sit index 813c2d4..837fa1c 100755 --- a/sit +++ b/sit @@ -132,7 +132,7 @@ else fi MPI_DIR=$MPICH_DIR ;; - laki|*) + laki|vulcan|*) if [ -z "$COMPILER_VERSION" ] ; then COMPILER_MODULE=compiler/${COMPILER} else @@ -157,6 +157,7 @@ if [ ! -z $COMPILER ] ; then echo "Using compiler: $COMPILER version: $COMPILER_VERSION" fi + if [ ! -z "$MPI" ] ; then MPI_MODULE="mpi/$MPI" sit_info_verbose "MPI: $MPI"