| Both sides previous revision
Previous revision
Next revision
|
Previous revision
|
howto:gizmo [2023/03/02 15:34] msovara |
howto:gizmo [2024/03/04 12:54] (current) msovara |
| ====== GIZMO at CHPC ====== | ====== ROOT at CHPC ====== |
| |
| The simulation code GIZMO is a flexible, massively-parallel, multi-method multi-physics code, with a wide range of different physics modules described in the “Feature Set” below. The code is descended from P-GADGET, itself descended from GADGET–2, and is fully compatible with GADGET analysis codes, initial conditions, and snapshots. GIZMO is not an acronym – it refers both to the code’s multi-purpose applications and to its historical relationship to GADGET. | |
| |
| Installing GIZMO on an HPC (High-Performance Computing) facility can be a bit different from installing it on a regular computer. Here are the general steps you can follow: | In the realm of High Energy Physics, the preferred framework for handling extensive data analysis tasks has long been CERN’s ROOT framework[[https://root.cern/]]. ROOT stands as a substantial C++ library, boasting a history predating even that of the STL in certain domains. Additionally, it includes a Just-In-Time (JIT) C++ interpreter named Cling, widely regarded as one of the finest in its field. Notably, the Xeus C++ Kernel for Jupyter is constructed upon the foundation of Cling. ROOT offers a comprehensive suite of features tailored to the needs of HEP physicists: mathematical functionalities, plotting capabilities, support for histograms, tuple, and tree structures, a robust file format for input/output operations, provisions for machine learning tasks, Python bindings, and more. Furthermore, it facilitates tasks such as dictionary generation and arbitrary class serialization, paralleling similar functionalities found in other extensive frameworks like Qt. |
| |
| 1. Check if GIZMO is already installed on the HPC facility or if there are any pre-built packages available that you can use. Many HPC facilities provide a list of available software packages or modules that you can load to your environment. | Installing ROOT on an HPC (High-Performance Computing) facility can be a bit different from installing it on a regular computer. Instead of building from source, which can be complex and time-consuming due to ROOT's size. I opted to create a Python virtual environment in my home directory and then used conda to install ROOT. For any Linux distribution and MacOS, ROOT is available as a conda package. To create a new conda environment containing ROOT and activate it, execute: |
| |
| 2. If GIZMO is not available or if you prefer to install it yourself, you will need to request access to a compute node that has the required software packages and compilers installed. | <code> |
| | $ module purge |
| | $ module add chpc/BIOMODULES |
| | $ module add python/0.3.11.4 |
| | $ mkdir dev; cd dev |
| | $ virtualenv root_env; cd root_env |
| | $ source root_env/bin/activate |
| | </code> |
| |
| 3. Once you have access to the node, you will need to download the GIZMO source code and any required dependencies. You can do this using the wget or git command line tools or by uploading the files from your local machine to the HPC facility. | Setting ''channel_priority to strict'' is required to avoid conflicts on some platforms |
| |
| 4. Before compiling the code, make sure to load the required software modules using the module load command or set the necessary environment variables to point to the correct locations of the required software packages. | <code> |
| | $ conda config --set channel_priority strict |
| | $ conda install root -c conda-forge |
| | $ deactivate |
| | </code> |
| |
| 5. Compile the code using the appropriate compiler and flags that are compatible with the HPC facility. This may involve modifying the makefile or the build script provided with the GIZMO source code. | I encourage you to try these steps and let me know if you encounter any issues or have any questions. |
| | For the details of the code and instructions for installation please see [[https://root.cern/install/|website]] |
| 6. Once the code is compiled, you can submit a job to the HPC scheduler to run your GIZMO simulation. Make sure to specify the appropriate job parameters such as the number of cores, memory, and wall time requirements. | |
| | |
| It's important to note that the exact steps for installing GIZMO on an HPC facility may vary depending on the specific facility and the software environment. It's recommended to consult the HPC facility documentation and support staff for more detailed instructions and troubleshooting advice. | |
| | |
| For the details of the code and instructions for installation please see [[http://www.tapir.caltech.edu/~phopkins/Site/GIZMO_files/gizmo_documentation.html#tutorial-requirements/|website]] : | |
| |
| |