# BioBB + GMXAPI setup for puhti.csc.fi ## Notes 17.12.2021 * GMXAPI tutorial: full node per participant and *threadmpi* gromacs 2022 + gmxapi 0.3.x + mpi4py --> ok! * BioBB: this workshop use notebook as the GUI to use BioBB * this is for demonstration * for production, mpi is needed * book a separate meeting later with Adam! * mpi, slurm conf, pycomps etc. ## Prereqs * Add python tutorial * function, decorator, `with` (context manager) ... * Adam sends improved BioBB prereg formulation ## Testing * accounts work * hpc-container-wrapper https://github.com/CSCfi/hpc-container-wrapper * also possible to run a custom module via OoD, but one should make a module for it * create a singularity container with a docker recipe? ok! * for "normal" cases convesion should be automatic * Eric: contact Henrik to test * QMMM GMX-CP2k will likely require a separate gromacs build * building the stack takes loooong * ## Questions GPUs? yes for Artem's session; no for gmxapi and biobb puhti: 40 cores per node ## Expected environment ### Option: Container generated from Conda recipe ### Option: Container generated from Docker image From Henrik: #### Converting the docker container: ``` export SINGULARITY_TMPDIR=$TMPDIR export SINGULARITY_CACHEDIR=$TMPDIR singularity pull <container_name>.sif docker://<namespace>/<repository> ``` Large image are converted faster when using the local disk instead of the parallel filesystem #### Creating the wrappers ``` export PATH="/appl/opt/csc-tools/hpc-container-wrapper-beta/bin:$PATH" mkdir Wrappers wrapcont -w <abs_path_in_container> <container_name>.sif --prefix Wrappers/ ``` The abs_path is some absolute path in the container for which you want to create wrappers e.g /home/tutorial/venv/bin multiple paths are separated with a comma. *eric notes: this assumes the venv in the docker image has jupyter notebook installed* #### Custom module create ~/privatemodules/course.lua and add ``` prepend_path ("PATH","/<path_to_wrappers>/bin") ``` #### Launching using puhti.csc.fi - Using a browser go to puhti.csc.fi - Login using the same username+password as ssh - Go to the Jupyter app - In the settings select custom for the python drop down - Add use.own course to the custom Python module field. - Make sure the user's home directory is selected for Working Directory #### Accessing course material The course material will likely be cloned from a common repository. Alternatively, if the course material is packaged with the Singularity container, it could be extracted from the container to the user's home directory. For example: cd ~ singularity run ~/gmxapi-tutorial.sif \ tar cvf - -C /home/tutorial/ gmxapi-introduction \ |tar xvf - Then, the user can navigate to the tutorial notebook after launching the Jupyter session. ## Links * https://ssl.eventilla.com/event/mWeRZ * https://github.com/CSCfi/csc-user-guide * https://github.com/CSCfi/hpc-container-wrapper