Skip to content

Commit

Permalink
Merge pull request #292 from IPPL-framework/documentation
Browse files Browse the repository at this point in the history
Change installation guide to new  CMake only build
  • Loading branch information
anekslen authored May 31, 2024
2 parents ce17580 + 88b4e26 commit 5bb8192
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 14 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
build/
doc/html
doc/latex
manual/*.aux
Expand Down
2 changes: 1 addition & 1 deletion doc/Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ PROJECT_NAME = "IPPL (Independent Parallel Particle Layer)"
# could be handy for archiving the generated documentation or if some version
# control system is used.

PROJECT_NUMBER = 2.0
PROJECT_NUMBER =

# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
Expand Down
38 changes: 25 additions & 13 deletions doc/extras/IPPLonEULER.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ This guide outlines the steps to install the IPPL library on the EULER cluster.
## Connecting to the EULER Cluster

Use SSH to connect to EULER. Replace '\<username\>' with your actual username.

ssh -Y <username>@euler.ethz.ch

The '-Y' flag enables trusted X11 forwarding, necessary for running graphical applications remotely.
Expand All @@ -24,31 +24,47 @@ _Load Dependencies:_ Load the required modules for IPPL:

module load gcc/11.4.0 cmake/3.26.3 cuda/12.1.1 openmpi/4.1.4

## Cloning the IPPL Library and Build Scripts
## Cloning the IPPL Library

Clone the IPPL library from its repository:

git clone https://github.com/IPPL-framework/ippl.git

Clone the IPPL build scripts for a simplified installation process:
## Building IPPL

#### Setup a build directory:

git clone https://github.com/IPPL-framework/ippl-build-scripts.git
cd ippl
mkdir build
cd build

## Building IPPL
#### Create build files

Choose from the following options based on your needs. If necessary, you can build multiple versions in separate directories.

**Serial Version** (for single-node computing)

./ippl-build-scripts/999-build-everything -t serial -k -f -i -u
cmake .. -DCMAKE_CXX_STANDARD=20 -DIPPL_PLATFORMS=SERIAL -DENABLE_SOLVERS=ON -DENABLE_FFT=ON -DENABLE_ALPINE=ON

**OpenMP Version** (for multi-threaded computing):

./ippl-build-scripts/999-build-everything -t openmp -k -f -i -u
cmake .. -DCMAKE_CXX_STANDARD=20 -DIPPL_PLATFORMS=OPENMP -DENABLE_SOLVERS=ON -DENABLE_FFT=ON -DENABLE_ALPINE=ON

**Cuda Version** (for GPU computing):

cmake .. -DCMAKE_CXX_STANDARD=20 -DIPPL_PLATFORMS=CUDA -DENABLE_SOLVERS=ON -DENABLE_FFT=ON -DENABLE_ALPINE=ON -DUSE_ALTERNATIVE_VARIANT=OFF -DKokkos_ARCH_[architecture]=ON

**CUDA Version** (for GPU computing):
[architecture] should be the target architecture, e.g.

- PASCAL60
- VOLTA70
- TURING75
- AMPERE80


#### Compile
./ippl-build-scripts/999-build-everything -t cuda -k -f -i -u
make

## Testing Your Installation

Expand All @@ -66,7 +82,3 @@ This command allocates one computing node with 32GB of RAM for 60 minutes.
Repository for Independent Parallel Particle Layer (IPPL)

https://github.com/IPPL-framework/ippl

Repository for IPPL Build Scripts

https://github.com/IPPL-framework/ippl-build-scripts

0 comments on commit 5bb8192

Please sign in to comment.