Skip to content

Commit

Permalink
Merge branch 'main' into 1179-neural-network-inference-for-roman-pots
Browse files Browse the repository at this point in the history
  • Loading branch information
rahmans1 authored Oct 31, 2024
2 parents ff41aa0 + 6a948d5 commit 90ee0e5
Show file tree
Hide file tree
Showing 23 changed files with 264 additions and 132 deletions.
1 change: 1 addition & 0 deletions .github/lsan.supp
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@ leak:edm4hep::*::createBuffers
leak:libActsCore.so
leak:libCling.so
leak:libCore.so
leak:libJANA.so
17 changes: 7 additions & 10 deletions .github/workflows/linux-eic-shell.yml
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,7 @@ jobs:
path: clang_tidy_fixes.yml
if-no-files-found: ignore
- name: Suggest clang-tidy fixes as PR comments
uses: platisd/[email protected].0
uses: platisd/[email protected].1
if: ${{ github.event_name == 'pull_request' }}
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
Expand Down Expand Up @@ -764,20 +764,19 @@ jobs:
if_no_artifact_found: warn
- name: Compare to previous artifacts
uses: eic/run-cvmfs-osg-eic-shell@main
if: steps.download_previous_artifact.outputs.found_artifact == 'true'
with:
platform-release: "${{ env.platform }}:${{ env.release }}"
setup: "/opt/detector/epic-${{ env.detector-version }}/bin/thisepic.sh"
run: |
export PYTHONPATH=$HOME/.local/lib/python3.10/site-packages:$PYTHONPATH
mkdir capybara-reports
mkdir new
ln -sf ../rec_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}.edm4eic.root new/
capybara bara ref/rec_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}.edm4eic.root new/rec_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}.edm4eic.root
# using nullglob to ensure ref/* does not fail
shopt -s nullglob
capybara bara ref/*rec_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}.edm4eic.root new/rec_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}.edm4eic.root
mv capybara-reports rec_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}
touch .rec_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}
- uses: actions/upload-artifact@v4
if: steps.download_previous_artifact.outputs.found_artifact == 'true'
with:
name: rec_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}.capy
path: |
Expand Down Expand Up @@ -965,21 +964,19 @@ jobs:
if_no_artifact_found: warn
- name: Compare to previous artifacts
uses: eic/run-cvmfs-osg-eic-shell@main
if: steps.download_previous_artifact.outputs.found_artifact == 'true'
with:
platform-release: "${{ env.platform }}:${{ env.release }}"
setup: "/opt/detector/epic-${{ env.detector-version }}/bin/thisepic.sh"
run: |
pip install 'pygithub>=2' 'bokeh>=3'
export PYTHONPATH=$HOME/.local/lib/python3.10/site-packages:$PYTHONPATH
mkdir capybara-reports
mkdir new
ln -sf ../rec_dis_${{matrix.beam}}_minQ2=${{matrix.minq2}}_${{ matrix.detector_config }}.edm4eic.root new/
capybara bara ref/rec_dis_${{matrix.beam}}_minQ2=${{matrix.minq2}}_${{ matrix.detector_config }}.edm4eic.root new/rec_dis_${{matrix.beam}}_minQ2=${{matrix.minq2}}_${{ matrix.detector_config }}.edm4eic.root
# using nullglob to ensure ref/* does not fail
shopt -s nullglob
capybara bara ref/*rec_dis_${{matrix.beam}}_minQ2=${{matrix.minq2}}_${{ matrix.detector_config }}.edm4eic.root new/rec_dis_${{matrix.beam}}_minQ2=${{matrix.minq2}}_${{ matrix.detector_config }}.edm4eic.root
mv capybara-reports rec_dis_${{matrix.beam}}_minQ2=${{matrix.minq2}}_${{ matrix.detector_config }}
touch .rec_dis_${{matrix.beam}}_minQ2=${{matrix.minq2}}_${{ matrix.detector_config }}
- uses: actions/upload-artifact@v4
if: steps.download_previous_artifact.outputs.found_artifact == 'true'
with:
name: rec_dis_${{matrix.beam}}_minQ2=${{matrix.minq2}}_${{ matrix.detector_config }}.capy
path: |
Expand Down
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ ci:
skip: [clang-format]
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.6.0
rev: v5.0.0
hooks:
- id: end-of-file-fixer
- id: trailing-whitespace
Expand Down
5 changes: 1 addition & 4 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -150,13 +150,10 @@ set(CMAKE_INSTALL_RPATH
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)

# Check and print what JANA2 is used
find_package(JANA 2.0.8 REQUIRED)
find_package(JANA REQUIRED)
message(STATUS "${CMAKE_PROJECT_NAME}: JANA2 CMake : ${JANA_DIR}")
message(STATUS "${CMAKE_PROJECT_NAME}: JANA2 includes: ${JANA_INCLUDE_DIR}")
message(STATUS "${CMAKE_PROJECT_NAME}: JANA2 library : ${JANA_LIBRARY}")
add_compile_definitions(HAVE_PODIO)
# TODO: NWB: Do this correctly in JANA via target_compile_definitions for v2.1.1
# TODO: NWB: Maybe we want these to be prefixed, e.g. JANA2_HAVE_PODIO

# Algorithms
find_package(algorithms 1.0.0 REQUIRED Core)
Expand Down
24 changes: 12 additions & 12 deletions docs/howto/use_docker.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ The containers are released both for docker and singularity. Singularity images
- [Docker Hub](https://hub.docker.com/u/eicweb)
- CVMFS path (available at BNL and JLab):
```
singularity run /cvmfs/singularity.opensciencegrid.org/eicweb/jug_xl:nightly
singularity run /cvmfs/singularity.opensciencegrid.org/eicweb/eic_xl:nightly
```

### Images structure:
Expand All @@ -19,7 +19,7 @@ The containers are released both for docker and singularity. Singularity images

- **debian_base** - is a container generic base container based on amd64/debian:testing
- **jug_dev** - have all major HENP packages such as ROOT, Geant4 and DD4HEP but without detector and reconstruction. The image is used for testing purposes and automation.
- **jug_xl** - intended to be used to run simulation and work on detectors for users. jug_dev + full simulation packages
- **eic_xl** - intended to be used to run simulation and work on detectors for users. jug_dev + full simulation packages



Expand All @@ -39,7 +39,7 @@ So testing is the precursor to the next release version.

**TL;DR;**

Now it is recommended to use: ```eicweb/jug_xl:nightly```
Now it is recommended to use: ```eicweb/eic_xl:nightly```


## Run in docker
Expand All @@ -50,13 +50,13 @@ Containers are available at eicweb namespace at
To download or update the container:

```bash
docker pull eicweb/jug_xl:nightly
docker pull eicweb/eic_xl:nightly
```

Running docker (minimal and probably useless):

```bash
docker run -it --rm eicweb/jug_xl:nightly
docker run -it --rm eicweb/eic_xl:nightly
```


Expand Down Expand Up @@ -113,7 +113,7 @@ You can bind any directory on your system to docker image by using **-v** flag:
Convenient place inside docker image is `/mnt/` directory. Full example:

```bash
docker run -it -v /home/user/eic/data:/mnt/data --rm eicweb/jug_xl:nightly
docker run -it -v /home/user/eic/data:/mnt/data --rm eicweb/eic_xl:nightly
ls /mnt/data
```

Expand All @@ -133,7 +133,7 @@ ls /mnt/data
With debugging enabled and all ports open:

```
docker run -it --rm --cap-add=SYS_PTRACE --security-opt seccomp=unconfined eicweb/jug_xl:nightly
docker run -it --rm --cap-add=SYS_PTRACE --security-opt seccomp=unconfined eicweb/eic_xl:nightly
```


Expand All @@ -146,7 +146,7 @@ The setup depends on particular tool:
- [Visual Studio Code docker remote debugging](https://code.visualstudio.com/docs/remote/remote-overview)
- [CLion docker toolchain](https://www.jetbrains.com/help/clion/clion-toolchains-in-docker.html)

> Use `\usr\local\bin\cmake` as cmake path, when configuring IDEs with jug_xl image
> Use `\usr\local\bin\cmake` as cmake path, when configuring IDEs with eic_xl image
![vscode-docker](vscode_docker.png ':size=800')

Expand All @@ -166,7 +166,7 @@ You can use X11 natively (as natively as possible) with this docker image in you
To use graphics, make sure you are in an X11 session and run the following command:

```bash
docker run -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix --rm -it --user $(id -u) eicweb/jug_xl:nightly
docker run -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix --rm -it --user $(id -u) eicweb/eic_xl:nightly
```

There might be issues with user id on systems like JLab farms.
Expand All @@ -179,7 +179,7 @@ Make sure VcXsrv is whitelisted in the Windows firewall when prompted.
Start VcXsrv with 'allow from any origin' flag

```bash
docker run --rm -it -e LIBGL_ALWAIS_INDIRECT=1 -e DISPLAY=10.0.75.1:0 eicweb/jug_xl:nightly
docker run --rm -it -e LIBGL_ALWAIS_INDIRECT=1 -e DISPLAY=10.0.75.1:0 eicweb/eic_xl:nightly
```

> 10.0.75.1 address corresponds to the network configuration in docker settings
Expand Down Expand Up @@ -208,7 +208,7 @@ This will start XQuartz and whitelist your local IP address.
Finally, you can start up docker with the following command:

```
docker run --rm -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$ip:0 eicweb/jug_xl:nightly
docker run --rm -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$ip:0 eicweb/eic_xl:nightly
```


Expand All @@ -221,7 +221,7 @@ action needed. For the most optimal experience, you can install your software to
``/usr/local`` is a symlink to ``/opt/view``).

```
FROM eicweb/jug_xl:nightly
FROM eicweb/eic_xl:nightly
RUN apt-get update \
&& export DEBIAN_FRONTEND=noninteractive \
&& apt-get -y install git gdb
Expand Down
6 changes: 3 additions & 3 deletions docs/howto/use_singularity.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,10 +88,10 @@ For farms like at BNL or JLab the images are automatically replicated to
CVMS:

```bash
/cvmfs/singularity.opensciencegrid.org/eicweb/jug_xl*
/cvmfs/singularity.opensciencegrid.org/eicweb/eic_xl*

# example to run
singularity run /cvmfs/singularity.opensciencegrid.org/eicweb/jug_xl:nightly
singularity run /cvmfs/singularity.opensciencegrid.org/eicweb/eic_xl:nightly
```

### eic-shell explained
Expand All @@ -106,7 +106,7 @@ singularity like:
# $PREFIX here is where you installed everything (by default where install.sh executed)
export EIC_SHELL_PREFIX=...
export SINGULARITY_BINDPATH=/home
singularity exec $PREFIX/local/lib/jug_xl-nightly.sif eic-shell $@
singularity exec $PREFIX/local/lib/eic_xl-nightly.sif eic-shell $@
```

The **eic-shell** inside the container loads the proper environment and
Expand Down
2 changes: 1 addition & 1 deletion docs/tutorial/02-work-environment.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ curl --location https://get.epic-eic.org | bash
# or, if /cvmfs is available:
# n.b. on JLab ifarm you may need to do 'module load singularity/3.9.5' first

singularity exec /cvmfs/singularity.opensciencegrid.org/eicweb/jug_xl:nightly eic-shell
singularity exec /cvmfs/singularity.opensciencegrid.org/eicweb/eic_xl:nightly eic-shell

```
Once inside the eic-shell, you should source the geometry setup script since this is not done by default.
Expand Down
Loading

0 comments on commit 90ee0e5

Please sign in to comment.