-
Notifications
You must be signed in to change notification settings - Fork 45
How to Build PhasicFlow
You can build PhasicFlow for different hardware, CPU or GPU, depending on the computer. You can have a single build or oven multiple builds on a machine. Here you learn how to build PhasicFlow in various modes of execution.
PhasicFlow uses Kokkos as the backend for parallelization. So, you need to have a copy of the source code in the machine alongside PhasicFlow. The make system is adjusted in a way so you do not need to separately compile Kokkos and the required source code files from Kokkos are compiled alongside the PhasicFlow.
You also need to have CMake-3.22 or higher installed on your computer.
For now, some parallel algorithms rely on tbb parallel library (C++ parallel backend). This dependency will be removed soon. Use e following commands to install it:
sudo apt update
sudo apt install libtbb-dev
PhasicFlow uses CMake as the build system. you need to have CMake-3.22 or higher installed on your machine. you can either use the command line for setting-up the build system, or use cmake-gui to setup your build system through the GUI.
Make sure you have installed all the required packages on your computer (tbb and CMake and compilers).
It is assumed that Kokkos source is located in the home folder of your OS. Clone the current version of Kokkos into your home folder:
cd ~
mkdir Kokkos
cd Kokkos
git clone https://github.com/kokkos/kokkos.git
or simply download and extract the source code of Kokkos in ~/Kokkos folder. In the end, the top level CMakeLists.txt file should be located in ~/Kokkos/kokkos folder.
Create the PhasicFlow folder in your home folder and then clone the source code into that folder:
cd ~
mkdir PhasicFlow
cd PhasicFlow
git clone https://github.com/hamidrezanorouzi/phasicFlow.git
In the terminal enter the following command:
gedit ~/.bashrc
and add the following line to the end of the file, save and close it.
source $HOME/PhasicFlow/phasicFlow/cmake/bashrc
close the terminal.
Follow one of the followings to build PhasicFlow for one mode of execution.
Open a new terminal and enter the following commands:
cd ~/PhasicFlow/phasicFlow
mkdir build
cd build
cmake ../ -DpFlow_Build_Serial=On
make install
For faster builds, use make install -j. This will use all the CPU cores on your computer for building.
cd ~/PhasicFlow/phasicFlow
mkdir build
cd build
cmake ../ -DpFlow_Build_OpenMP=On
make install
cd ~/PhasicFlow/phasicFlow mkdir build cd build cmake ../ -DpFlow_Build_Cuda=On make install
After building, `bin`, `include`, and `lib` folders will be created in `~/PhasicFlow/phasicFlow/` folder. Now you are ready to use PhasicFlow.
### Step 6: Testing
In the current terminal or a new terminal enter the following command:
`checkPhasicFlow`
This command shows the host and device environments and software version. If PhasicFlow was build correctly, you would get the following output:
Initializing host/device execution spaces . . . Host execution space is Serial Device execution space is Cuda
You are using phasicFlow v-0.1 (copyright(C): www.cemf.ir)
Finalizing host/device execution space ....
- Features
- How to build
- Tutorials (compatible with v-1.0)
- Performance Test
- How to contribute to PhasicFlow
- Coding Style Guidelines
- About PhasicFlow