Skip to content

A development environment for interdisciplinary research between high-energy physics and AI.

License

Notifications You must be signed in to change notification settings

Star9daisy/hml-env

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

83 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HML ENV

Docker Pulls Docker Image Size (tag) Docker Image Size (tag) Docker Image Size (tag)

Introduction

The hml-env provides a development environment for interdisciplinary research between high-energy physics and artificial intelligence. Based on the included software and libraries, it is divided into three environments:

  1. base: Provides the fundamental software for phenomenological research in high-energy physics and can generate simulated collision events.

  2. lite: Builds upon base by adding support for TensorFlow 2.16.

  3. dev: Builds upon lite by adding support for a complete machine learning framework, enabling comprehensive research.

Configurations

base lite dev
Ubuntu 22.04
CUDA 12.2.2
cuDNN 8
ROOT 6.28.12
Delphes 3.5.0
Madgraph5 (MG5) 3.4.2
HepMC 2.06.09 (by MG5)
LHAPDF 6.5.4 (by MG5)
PYTHIA 8.311 (by MG5)
Tensorflow 2.16.1 (include Keras 3)
PyTorch 2.3.0
Jax 0.4.28
  • lite and dev are built based on the image nvidia/cuda:12.2.2-cudnn8-devel-ubuntu22.04. Before starting the container, you need to install the NVIDIA Container Toolkit. Please refer to here for installation instructions.

  • Delphes is installed separately for performance considerations during compilation. The software installed by MG5 has also undergone some minor modifications to utilize all CPU cores during compilation.

  • All three machine learning frameworks support GPU and can be used as backends for Keras versions 3 and above.

  • The memory growth of TensorFlow and Jax is limited to prevent a single program from occupying the entire GPU memory at once.

Use cases

  1. Launching the Container and Generating Events with Madgraph5:

    docker run -it --rm star9daisy/hml-env:3.0.0-base

    After entering the container, type mg5_aMC to open the Madgraph5 command-line interface.

  2. Starting the Container in the Background and Attaching with VSCode:

    docker run -itd --gpus all star9daisy/hml-env:3.0.0-dev

    After starting, attach VSCode to the running container, allowing you to open the container as if it were a local directory.

  3. The image includes an SSH service, and you can add port mappings and passwords when starting the container:

    docker run -itd --gpus all --publish <port>:22 --env PASSWORD=<password> star9daisy/hml-env:3.0.0-dev

    When this container is running on a remote server, doing so can save a step: changing from local → remote → container to local → container. Use the following command to SSH directly into the container:

    ssh -p <port> root@<remote server ip>

About

A development environment for interdisciplinary research between high-energy physics and AI.

Topics

Resources

License

Stars

Watchers

Forks