-
Notifications
You must be signed in to change notification settings - Fork 60
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] Added support for ARCHER (Cray XC30). #864
base: master
Are you sure you want to change the base?
Changes from 1 commit
0784717
b226d41
ac0e31f
9df2e03
30150cb
d2bfbfa
1efcb30
5240c6e
6d458ee
8408a3d
c3b54ea
d52c497
5e3b73a
ae31159
1bfd4cd
c743af0
27e17c3
805c2fa
d14708f
d51a47b
d4830df
296966f
1331d75
2eaa563
0355f7b
d1e3d75
7808dd3
07dbd7f
1a34d81
b3da785
acf9d9d
b95922b
6a6deeb
02cfd0f
b2276b1
5552c2d
bb922b8
8cf79e0
4ed653a
fe76e07
f780c7f
531cfbd
d390e9f
d8ad2c4
30e9f95
9a02342
b3e1a2e
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
extends: | ||
- file: linux.yaml |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
# This profile file controls your <#> (HashDist) build environment. | ||
|
||
# In the future, we'll provide better incorporation of | ||
# automatic environment detection. For now, have a look | ||
# at the YAML files in the top-level directory and choose | ||
# the most *specific* file that matches your environment. | ||
|
||
extends: | ||
- file: archer.yaml | ||
|
||
# The packages list specifies all the packages that you | ||
# require installed. <#> will ensure that all packages | ||
# and their dependencies are installed when you build this | ||
# profile. | ||
|
||
parameters: | ||
machine: CrayXC30 | ||
HOST_MPICC: cc | ||
HOST_MPICXX: CC | ||
HOST_MPIF77: ftn | ||
HOST_MPIF90: ftn | ||
HOST_MPIEXEC: aprun | ||
PATH: | | ||
/usr/bin:/bin:/usr/sbin:/sbin | ||
PROLOGUE: | | ||
source /opt/modules/default/init/bash; export MODULEPATH=/opt/cray/craype/default/modulefiles:/opt/cray/ari/modulefiles:/opt/cray/modulefiles:/opt/modulefiles:/cm/local/modulefiles:/cm/shared/modulefiles:/opt/modules/packages-archer; export MODULESHOME=/opt/modules/default; export MODULE_VERSION=3.2.10; export MODULE_VERSION_STACK=3.2.10; export CRAY_CPU_TARGET=ivybridge; echo "unloading modules"; module unload PrgEnv-cray; echo "loading modules"; module load PrgEnv-gnu; module load cray-mpich; module load cray-libsci; module load cray-tpsl; echo "setting default compilers"; export CC=gcc; export CXX=g++; export FC=gfortran; export F77=gfortran; export F90=gfortran; export CPP=cpp; | ||
DYNAMIC_EXE_LINKER_FLAGS: -dynamic | ||
|
||
packages: | ||
launcher: | ||
cmake: | ||
python: | ||
host: false | ||
build_with: | | ||
openssl,bzip2,sqlite | ||
blas: | ||
use: openblas | ||
lapack: | ||
# use: host-acml-lapack | ||
daetk: | ||
mpi: | ||
use: host-mpi | ||
mpi4py: | ||
nose: | ||
hdf5: | ||
ipython: | ||
matplotlib: | ||
parmetis: | ||
without_check: true | ||
petsc: | ||
build_with: | | ||
parmetis | ||
download: | | ||
ptscotch, superlu, superlu_dist, spooles, hypre, blacs, scalapack, mumps | ||
coptflags: -O2 | ||
link: shared | ||
debug: false | ||
petsc4py: | ||
with_conf: true | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. petsc4py currently needs There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Thanks, I've made the changes you recommended and daetk now compiles. |
||
pytables: | ||
sphinx: | ||
superlu: | ||
sympy: | ||
tetgen: | ||
triangle: | ||
memory_profiler: | ||
scipy: | ||
# netcdf4f: | ||
# python-netcdf4: | ||
h5py: | ||
ode: | ||
# pyode: | ||
# vtk: | ||
# pyvtk: | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -18,15 +18,16 @@ build_stages: | |
bash: | | ||
export CC=${MPICC} | ||
|
||
- when: machine == 'CrayXE6' | ||
- when: machine == 'CrayXC30' | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The hashdist's YAML domain specific langauge understands basic logic, so if you make this |
||
name: make_exe_builds_static | ||
handler: bash | ||
after: configure | ||
before: make | ||
bash: | | ||
for f in {test,testpar,tools/*,perform,hl/*,hl/*/*}/Makefile | ||
for f in {src,test,testpar,tools/*,perform,hl/*,hl/*/*}/Makefile | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @mbareford this causes a runtime problem with the hdf5 shared libraries when I test on our XC30. The issue is that the '-static' option added in the original patch was only intended for the directories in the original list so it breaks the shared libs at runtime when it is also applied to src. I made a branch fix_hdf5_sed that applies your sed fix in a second loop and verified that it works. Could you merge that into your branch and test on Archer? |
||
do | ||
sed -i 's/CCLD = $(CC)/CCLD = $(CC) -static/g' $f | ||
sed -i "s/sed -e 's\/-L\/:\/g' -e 's\/ \/\/g'/sed -e 's\/-L\/:\/g' -e 's\/-rpath=\/:\/g' -e 's\/-Wl,\/\/g' -e 's\/ \/\/g'/g" $f | ||
done | ||
|
||
- name: configure | ||
|
@@ -40,7 +41,7 @@ build_stages: | |
'--enable-largefile=yes', | ||
'--with-default-api-version=v18'] | ||
|
||
- when: machine == 'CrayXE6' | ||
- when: machine == 'CrayXC30' | ||
name: configure | ||
extra: ['--enable-static-exec', | ||
'--with-zlib=${ZLIB_DIR}', | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we should update to the latest petsc version by adding
version: 3.6.1
abovewithout_check: true