Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • wslda wslda
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • wtools
  • wsldawslda
  • Wiki
  • Setting up calculations

Setting up calculations · Changes

Page history
Create Setting up calculations authored Dec 08, 2020 by Gabriel Wlazłowski's avatar Gabriel Wlazłowski
Hide whitespace changes
Inline Side-by-side
Setting-up-calculations.md 0 → 100644
View page @ 2f30b735
# Step 1: Creating your project folder
W-SLDA codes execute calculations in specifically prepared folders for this, called *project folders*. In order to create a new *project folder* you need to make copy of the template folder. For example to create new project for static calculations (of name `st-mycalcs`) execute command:
```bash
cp -r st-project-template st-mycalcs
```
Folder with project initially contains following files:
1. [Makefile](https://gitlab.fizyka.pw.edu.pl/gabrielw/wslda/-/tree/public/st-project-template/Makefile) - user must modify this file to be compatible with target system (for more see *Step 2*).
2. [input.txt](https://gitlab.fizyka.pw.edu.pl/gabrielw/wslda/-/tree/public/st-project-template/input.txt) - template of input file for W-SLDA codes, must be modified by the user.
3. [mk.st](https://gitlab.fizyka.pw.edu.pl/gabrielw/wslda/-/tree/public/st-project-template/mk.st) or [mk.td](https://gitlab.fizyka.pw.edu.pl/gabrielw/wslda/-/tree/public/td-project-template/mk.td) - compilation commands. **Do not modify this file**.
4. [predefines.h](https://gitlab.fizyka.pw.edu.pl/gabrielw/wslda/-/tree/public/st-project-template/predefines.h) - here you set compilation parameters of the code.
5. [problem-definition.h](https://gitlab.fizyka.pw.edu.pl/gabrielw/wslda/-/tree/public/st-project-template/problem-definition.h) - here you specify your physical problem you want to solve. This is the most important file from user's perspective.
6. [logger.h](https://gitlab.fizyka.pw.edu.pl/gabrielw/wslda/-/tree/public/st-project-template/logger.h) - here you customize what information should be printed to *wlog* file (text file).
# Step 2: Updating Makefile (if not provided by admin)
[Makefile](https://gitlab.fizyka.pw.edu.pl/gabrielw/wslda/-/tree/public/st-project-template/Makefile) must be edited in order to be compatible with your target system. You can use one of existing [templates for Makefiles](https://gitlab.fizyka.pw.edu.pl/gabrielw/wslda/-/tree/public/Makefiles-templates) in order to speed up this process. For example, if your target system is `Piz Daint` then you can simply copy appropriate file:
```bash
cp ../Makefiles-templates/Makefile.st.daint ./Makefile
```
Note that typically you need to set correctly environment before compilation. If you use [templates for Makefiles](https://gitlab.fizyka.pw.edu.pl/gabrielw/wslda/-/tree/public/Makefiles-templates), in the header of Makefile you will find information about modules that needs to be loaded.
# Step 3: Setting up compilation predefines.
Before compilation you need to edit [predefines.h](https://gitlab.fizyka.pw.edu.pl/gabrielw/wslda/-/tree/public/st-project-template/predefines.h) file and set correctly hpc-engine compilation parameters. Specifically, at this stage you need to specify size of computational lattice.
# Step 4: Compiling initial version of the code
Execute
```bash
make
```
to compile W-SLDA codes. Note `make` command will compile all available versions of the code, see [here](https://gitlab.fizyka.pw.edu.pl/gabrielw/wslda/-/wikis/Types-of-codes) for more info. In order to compile only selected version of the code use:
```bash
make 3d # to create 3D version of the only
make 2d # to create 2D version of the only
make 1d # to create 1D version of the only
```
# Step 5: Define your problem
You need to edit [problem-definition.h](https://gitlab.fizyka.pw.edu.pl/gabrielw/wslda/-/tree/public/st-project-template/problem-definition.h) in order to define your problem. Update also [logger.h](https://gitlab.fizyka.pw.edu.pl/gabrielw/wslda/-/tree/public/st-project-template/logger.h) file if you need to report more refined quantities than only basic statistics (particle number, energy, etc.).
**Remember** to recompile the code after each modification of [problem-definition.h](https://gitlab.fizyka.pw.edu.pl/gabrielw/wslda/-/tree/public/st-project-template/problem-definition.h), [logger.h](https://gitlab.fizyka.pw.edu.pl/gabrielw/wslda/-/tree/public/st-project-template/logger.h), and [predefines.h](https://gitlab.fizyka.pw.edu.pl/gabrielw/wslda/-/tree/public/st-project-template/predefines.h).
# Step 6: Edit input file
Prepare [input.txt](https://gitlab.fizyka.pw.edu.pl/gabrielw/wslda/-/tree/public/st-project-template/input.txt) file for computation. Meaning of each tag is provided in comments.
# Step 7: Execute code
This step is strongly dependent on the target system. General structure of execution command is (example for `st-wslda-2d` code):
```bash
mpiexec-command resource-definition ./st-wslda-2d input.txt
```
See folder [job-scripts-templates](https://gitlab.fizyka.pw.edu.pl/gabrielw/wslda/-/tree/public/job-scripts-templates) for examples of submission scrips.
Clone repository
  • API version
  • Automatic interpolations
  • Auxiliary tools
  • Browsing the code
  • Broyden algorithm
  • C and CUDA
  • Campaign of calculations
  • Checking correctness of settings
  • Chemical potentials control
  • Code & Results quality
  • Common failures of static codes
  • Common failures of time dependent codes
  • Computation domain
  • Configuring GPU machine
  • Constraining densities and potentials
View All Pages