Installing FlameStore on Bebop
This procedure builds everything with Bebop's Intel compiler, using a spack
installed in $HOME/spack
.
The following file can be used in $HOME/.spack/linux/packages.yaml
to tell spack about the packages already installed and available on Bebop:
packages:
all:
compiler: [intel, gcc]
providers:
mpi: [intel-mpi]
autoconf:
paths:
autoconf@2.63: /usr
automake:
modules:
automake@1.16.1: automake/1.16.1-z4pasrf
buildable: False
bison:
paths:
bison@3.0.4: /usr
buildable: False
boost:
modules:
boost@1.65.1: boost/1.65.1-pka2h73
buildable: False
bzip2:
modules:
bzip2@1.0.6: bzip2/1.0.6-hcvyuh5
buildable: False
coreutils:
paths:
coreutils@8.22: /usr
buildable: False
flex:
modules:
flex@2.5.37: flex/2.5.35-xtnjjyc
buildable: False
gettext:
modules:
gettext@0.19: gettext/0.19.8.1-33342d3
buildable: False
intel-mkl:
modules:
intel-mkl : intel-mkl/2017.3.196-v7uuj6z
buildable: False
intel-mpi:
modules:
intel-mpi@2017.3: intel-mpi/2017.3-dfphq6k
buildable: False
libfabric:
variants: fabrics=psm2
libtool:
paths:
libtool@2.4.6: /usr
buildable: False
m4:
modules:
m4@1.4.18: m4/1.4.18-vytvqhc
buildable: False
ncurses:
modules:
ncurses@6.1: ncurses/6.1-hxx6kln
buildable: False
numactl:
modules:
numactl@2.0.11-tggunqu: numactl/2.0.11-tggunqu
buildable: False
openssl:
paths:
openssl@1.0.2k: /usr
buildable: False
perl:
modules:
perl@5.26.2: perl/5.26.2-2c6u2qx
buildable: False
pkg-config:
modules:
pkg-config@0.29.2: pkg-config/0.29.2-meoclwc
buildable: False
python:
modules:
python@2.7.15: python/2.7.15-b5bimol
python@3.6.5: python/3.6.5-lvrzbky
buildable: False
ssg:
variants: +mpi
tar:
modules:
tar@1.30: tar/1.30-nxebimk
buildable: False
tcl:
modules:
tcl@8.6.6: tcl/8.6.6-x4wnbsg
buildable: False
zlib:
modules:
zlib@1.2.11: zlib/1.2.11-6632jqd
buildable: False
Note: Bebop has some more modules (in particular Python packages like numpy) but I haven't attempted to add them to this file since I don't know how exactly they were compiled. Hence, when installing FlameStore, spack is going to install a bunch of dependencies that you be found already on the machine.
You can now install FlameStore using spack install flamestore
.
Once FlameStore is installed edit $HOME/.keras/keras.json
(create it if it doesn't exist) to set "backend": "theano"
(instead of TensorFlow). Here is what this file looks like on my installation:
{
"floatx": "float32",
"epsilon": 1e-07,
"backend": "theano",
"image_data_format": "channels_last"
}
Create the file $HOME/.theanorc
and put the following in it:
[blas]
ldflags =
Theanos will complain that it will have to use NumPy's implementation of BLAS (which isn't efficient). There should be a way to make it use intel_mkl
instead but I haven't looked into it yet. I'll update this page when I figure it out.
Note: after creating the FlameStore workspace, edit config.json
to use the following in the protocol
field: psm2://enp6s0f0:5000