Giter Site home page Giter Site logo

uoa-eresearch / easierbuild Goto Github PK

View Code? Open in Web Editor NEW
0.0 12.0 0.0 36 KB

Build scripts and instructions for software on the NeSI Auckland cluster that is too hard to build with easybuild.

Python 42.11% Shell 42.34% Lua 3.80% Dockerfile 11.74%

easierbuild's Introduction

easierbuild

Build scripts and instructions for software on the NeSI Auckland cluster that is too hard to build with easybuild.

General notes

Private Modules

Private modules are useful for custom software builds and when admin privileges do not allow global installs. They can be setup in a project or home dir e.g:

/projects/uoa00035/privatemodules/HDF5/1.8.15-intel-2015a

To use modules in this location, execute module use /projects/uoa00035/privatemodules This is best placed in the ~/.bashrc

Building and testing with Intel

Building binaries is pretty straight forward, just load the appropriate Intel module and set the compiler flag e.g:

module load intel/2015a
export CC=$EBROOTICC/bin/icc
export CXX=$EBROOTICC/bin/icpc
export FC=$EBROOTIFORT/bin/ifort
export F77=$EBROOTIFORT/bin/ifort

./configure --prefix=/install/path
make

If you have MPI code to build, generally you would do something like this:

module load intel/2015a
export CC=$EBROOTIMPI/bin64/mpiicc
export MPICC=$EBROOTIMPI/bin64/mpiicc
export CXX=$EBROOTIMPI/bin64/mpiicpc
export MPICXX=$EBROOTIMPI/bin64/mpiicpc
export FC=$EBROOTIMPI/bin64/mpiifort
export F77=$EBROOTIMPI/bin64/mpiifort

./configure --prefix=/install/path
make

If you want to test Intel build MPI code, e.g if one of the make targets is 'check' you may encounter a problem with running mpiexec/mpirun, e.g:

... cannot connect to local mpd ...
1. no mpd is running on this host
2. an mpd is running but was started without a "console" (-n option)

This is because Intel MPI is not built against SLURM, so to make it work we need to reference mpiexec.hydra which is in $EBROOTIMPI/bin64.

So have a look to see where mpiexec/mpirun is being referenced and replace with mpiexec.hydra.

Then use an interactive session:

salloc -A uoa00035 --ntasks=8 -C avx --time=5:00:00

Next unset I_MPI_PMI_LIBRARY as this may cause some conflicts in access the correct MPI environment.

Now run the make check and hopefully it should work.

easierbuild's People

Contributors

sina-masoud-ansari avatar mondkaefer avatar

Watchers

 avatar James Cloos avatar Sam Kavanagh avatar  avatar Marcus avatar Richard Hosking avatar Prashant Gupta avatar Ben Adams avatar  avatar Julius Karl Macrohon avatar Warrick avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.