TNL is a C++ framework for rapid development of numerical solvers for modern parallel architectures. To enjoy the power of modern multi-core CPUs and GPUs with TNL, just copy-paste the following lines to your Unix terminal.
wget tnl-project.org/data/src/tnl-0.1.tar.bz2 tar xvf tnl-0.1.tar.bz2 cd tnl-0.1 ./install
To implement your own solver:
- Create and go to your working directory
mkdir MyProblem cd Myproblem
- Execute a command tnl-quickstart
- Answer the questions as, for example, follows
TNL Quickstart -- solver generator ---------------------------------- Problem name:My Problem Problem class base name (base name acceptable in C++ code):MyProblem Operator name:MyOperator
- Write your numerical scheme by editing a file
- 34, 141 and 265 for 1D, 2D and 3D problem respectively with explicit time discretization
- 101, 211 and 332 for 1D, 2D and 3D problem respectively with (semi-)implicit time discretization
- Compile the program by executing
for CPU version only or
for a solver running on both CPU and GPU.
- Run it on your favorite HW architecture by executing
and following the printed help.