From Earlham Cluster Department
The source code for GalaxSeeHPC requires a unix-like environment, such as MacOS X, Linux, or the Cygwin environment for Windows users. You will also need a C compiler, and a working copy of “make” (standard on most unix-like systems.) Additional libraries which are not required to use GalaxSeeHPC, but can extend the number of features available include the ability to display X11 graphics (top-down and side view) and to compile against the X11 development libraries for basic X11 display; GD libraries to create snapshots in jpg format (top- down and side-view); OpenGL, SDL, and pthreads for interactive graphics with perspective; and FFTW3 for the ability to use Particle-Particle-Particle-Mesh force calculation along with periodic boundary conditions. If you do not have these features on your system, you can disable them in the Makefile before compiling the code.
Some of the packages and libraries are already included in BCCD, such as: mpich2, mpi, openmpi, X11, C compiler, etc... However, in order for BCCD to come in a CD (700mb) size we had to take some of the big packages off. Users could download these packages and libraries from various sources including us. Below is the list of packages you will need in order to run GalaxSeeHPC on your LittleFe cluster with BCCD on it.
Packages could be found here:
List of packages and libraries needed for the New GalaxSee and mm-multiply to work on BCCD:
1. FOR USING NETCDF OPTIONS:
NetCDF is a set of software libraries and self-describing, machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data. Here are the libraries to download:
- libnetcdf-dev - Development kit for NetCDF
- Or a complete package of netcdf libraries (netcdf-4.1.3.tar.gz) This could be found here:
How to Download and install the NetCDF packages:
To install the development package:
1. $ sudo apt-get update && apt-get install libnetcdf-dev
To download the complete package:
After the download, follow the instruction on the README file on how to configure and install the package.
2. FOR USING GADGET2 OPTIONS:
GADGET is a freely available code for cosmological N-body/SPH simulations on massively parallel computers with distributed memory. GADGET uses an explicit communication model that is implemented with the standardized MPI communication interface.
Where to download Gadget Simulation Code from:
However, for the GalaxseeHPC you will only need to download one of the bellow libraries. These are the optional libraries. I had to download only the first one, and it compiled fine.
- libhdf5-mpi-dev - Hierarchical Data Format 5 (HDF5) - development files - MPICH version
- libhdf5-mpich-dev - Hierarchical Data Format 5 (HDF5) - development files - MPICH version
- libhdf5-openmpi-dev - Hierarchical Data Format 5 (HDF5) - development files - OpenMPI version
3. FOR USING SDL OPTIONS:
- libsdl-console-dev - development files for libsdl-console
$ sudo apt-get update && apt-get install libsdl-console-dev
- For a complete SDL library package see their website:
4. FOR USING FFTW OPTIONS:
FFTW is a free collection of fast C routines for computing the Discrete Fourier Transform in one or more dimensions. It includes complex, real, symmetric, and parallel transforms, and can handle arbitrary array sizes efficiently. FFTW is typically faster than other publically-available FFT implementations, and is even competitive with vendor-tuned libraries. To achieve this performance, FFTW uses novel code-generation and runtime self-optimization techniques (along with many other tricks).
Where to get FFTW:
- From FFTW website:
- From other sources:
How to INSTALL FFTW:
After downloading fftw from one of the above sources:
- $ tar -xzf fftw-3.3.tar.gz (To extract)
- $ cd fftw-3.3
- $ ./configure --enable-mpi --enable-float
snip: lots of diagnostic output
- $ make
snip: lots of compilation output
- $ sudo make install
snip: lots of diagnostic output
5. FOR USING ATLAS OPTIONS:
ATLAS stands for Automatically Tuned Linear Algebra Software. ATLAS is both a research project and a software package. ATLAS's purpose is to provide portably optimal linear algebra software. The current version provides a complete BLAS API (for both C and Fortran77), and a very small subset of the LAPACK API. For all supported operations, ATLAS achieves performance on par with machine-specific tuned libraries. ATLAS can be used by anyone needing fast linear algebra routines.
Where to get atlas:
- From Online Sources:
- From other sources:
How to INSTALL ATLAS:
Once you have obtained the tarfile, you untar it in the directory where you want to keep the ATLAS source directory. The tarfile will create a subdirectory called ATLAS, which you may want to rename to make less generic. For instance, assuming I have saved the tarfile to /home/whaley/dload, and want to put the source in /home/whaley/numerics, I could create ATLAS's source directory (SRCdir) with the following commands:
- $ cd ~/numerics
- $ bunzip2 -c ~/dload/atlas3.9.51.tar.bz2 | tar xfm -
- $ mv ATLAS ATLAS3.9.51
- For how to configure and install atlas follow the instruction either online from ATLAS Installation Guide or README file.
- Online Installation Guide could be found here:
For any further questions about these packages please contact Mobeen:
email@example.com -- firstname.lastname@example.org