Skip to content

Commit 756db38

Browse files
committed
added old.md as doc reminder
1 parent 4e0a6df commit 756db38

1 file changed

Lines changed: 197 additions & 0 deletions

File tree

old.md

Lines changed: 197 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,197 @@
1+
## TODO:
2+
3+
- create repos for geant4 and clas12 containers, use hub autobuild on those
4+
- test file with reconstruction using osg container
5+
6+
## Base images OSes (ostype)
7+
8+
- [Almalinux94](https://hub.docker.com/_/almalinux)
9+
- [Fedora36](https://hub.docker.com/_/fedora)
10+
- [Ubuntu24](https://hub.docker.com/_/ubuntu)
11+
12+
13+
<br/>
14+
15+
## Base JLAB containers:
16+
17+
**jeffersonlab/base:**[cvmfs-]-**'ostype'**
18+
19+
All base containers have the install directory `/cvmfs/oasis.opensciencegrid.org/jlab/geant4/`.
20+
The 'cvmfs' based container do not have root or other packages needed to compile software
21+
in order to make them leaner.
22+
23+
TODO: rename the cvmfs container to 'osg'
24+
25+
26+
Examples:
27+
28+
- jeffersonlab/base:fedora36
29+
- jeffersonlab/base:cvmfs-fedora36
30+
31+
32+
33+
### Geant4 JLAB containers:
34+
35+
**jeffersonlab/geant4:g4v'geant4_version'-'ostype'**
36+
37+
where geant4 version is one of the following:
38+
39+
- 10.6.2
40+
- 10.7.4
41+
- 11.3.0
42+
- 11.3.1
43+
- 11.3.2
44+
45+
Examples:
46+
47+
- jeffersonlab/geant4:g4v10.7.4-ubuntu24
48+
- jeffersonlab/geant4:g4v11.3.2-fedora40
49+
- jeffersonlab/geant4:g4v11.3.2-almalinux94
50+
51+
### GEMC JLAB containers:
52+
53+
**jeffersonlab/gemc:'gemc_version'-'ostype'**
54+
55+
where gemc version is one of the following:
56+
57+
- prod1 (contains 4.4.2)
58+
- dev (contains 5.10, 5.11 and dev)
59+
60+
TODO: once gemc uses meson / geant4, add prod2
61+
62+
---
63+
64+
## Automated builds from docker hub
65+
66+
- source: JeffersonLab/geant4-docker
67+
- source type: branch, main
68+
- You can specify the Dockerfile location as a path relative to the build context.
69+
- The build context is the path to the files needed for the build,
70+
relative to the root of the repository.
71+
Enter the path to these files in the Build context field.
72+
Enter / to set the build context as the root of the source code repository.
73+
74+
---
75+
76+
## Manual Local Build
77+
```
78+
docker buildx build --platform linux/amd64 --no-cache --progress=plain \
79+
-t jeffersonlab/base:cvmfs-almalinux94 -f dockerfiles/Dockerfile-gemc-dev-almalinux94 .
80+
```
81+
82+
---
83+
84+
# Copy Software to cvmfs
85+
86+
## Linux OSes:
87+
88+
Use the pack.sh script to create a gzipped tarfile with specific software to be copied to cvmfs.
89+
90+
91+
```
92+
Usage: pack.sh <package>
93+
94+
Possible packages: geant4 clas12 clas12Tag gemc noarch
95+
96+
- geant4: latest geant4, clhep, xercesc, qt
97+
- clas12: ccdb, hipo, clas12_cmag, mlibrary, clas12Tags
98+
- clas12Tag: latest clas12Tags only (not dev)
99+
- gemc: latest gemc tag only (not dev)
100+
- noarch: noarch directory
101+
```
102+
103+
104+
## MacOS:
105+
106+
Manually tar the files. Make sure tar is an alias to gtar or use gtar directly.
107+
```
108+
cd /opt/jlab_software
109+
gtar cvfz 1.1-macos.tar.gz 1.1
110+
mv 1.1-macos.tar.gz ~/mywork
111+
scp *.tar.gz ifarm:/work/clas12/ungaro/images
112+
```
113+
114+
115+
## Container for clas12-validation and clas12Tags actions
116+
117+
- Currently used: `jeffersonlab/gemc:dev-fedora36` which is an autobuild based on
118+
`jeffersonlab/gemc:dev-g4v10.7.4-fedora36`
119+
120+
121+
---
122+
123+
## Release for OSG:
124+
125+
First make a tag of the current version:
126+
```
127+
docker pull jeffersonlab/clas12software:production
128+
docker tag jeffersonlab/clas12software:production jeffersonlab/clas12software:tag_sept_24
129+
docker push jeffersonlab/clas12software:tag_sept_24
130+
```
131+
132+
Then make a new tag for the new version:
133+
134+
Almalinux:
135+
136+
```
137+
docker pull jeffersonlab/base:cvmfs-almalinux94
138+
docker tag jeffersonlab/base:cvmfs-almalinux94 jeffersonlab/clas12software:devel
139+
docker push jeffersonlab/clas12software:devel
140+
docker tag jeffersonlab/base:cvmfs-almalinux94 jeffersonlab/clas12software:production
141+
docker push jeffersonlab/clas12software:production
142+
```
143+
144+
Fedora:
145+
146+
```
147+
docker pull jeffersonlab/base:cvmfs-fedora36
148+
docker tag jeffersonlab/base:cvmfs-fedora36 jeffersonlab/clas12software:devel
149+
docker push jeffersonlab/clas12software:devel
150+
docker tag jeffersonlab/base:cvmfs-fedora36 jeffersonlab/clas12software:production
151+
docker push jeffersonlab/clas12software:production
152+
```
153+
154+
155+
After testing, can use the tag `production`.
156+
157+
## Testing with docker container:
158+
159+
```
160+
docker_run_image jeffersonlab/clas12software:devel cvmfs
161+
```
162+
163+
### Test script:
164+
165+
```
166+
source /etc/profile.d/modules.csh
167+
set cvmfsPath = /cvmfs/oasis.opensciencegrid.org/jlab/hallb/clas12/sw/
168+
set cvmfsSetupFile = $cvmfsPath/setup.csh
169+
source $cvmfsSetupFile $cvmfsPath
170+
module load sqlite/5.7
171+
setenv SIM_HOME /cvmfs/oasis.opensciencegrid.org/jlab/geant4
172+
source /cvmfs/oasis.opensciencegrid.org/jlab/geant4/ceInstall/setup.csh
173+
module load gemc/5.9
174+
setenv RCDB_CONNECTION mysql://null
175+
176+
module avail
177+
module load coatjava/10.0.2
178+
module load jdk/17.0.2
179+
module load mcgen/3.02
180+
181+
generate-seeds.py generate
182+
set seed = `generate-seeds.py read --row 1`
183+
clasdis --trig 100 --docker --t 20 25 --seed $seed
184+
gemc -USE_GUI=0 -N=100 /cvmfs/oasis.opensciencegrid.org/jlab/hallb/clas12/sw/noarch/clas12-config/dev/gemc/5.7/rga_fall2018_target_at_m3.5.gcard -INPUT_GEN_FILE='lund, clasdis.dat' -RANDOMIZE_LUND_VZ='-3.0*cm, 2.5*cm, reset ' -BEAM_SPOT='0.0*mm, 0.0*mm, 0.0*mm, 0.0*mm, 0*deg, reset ' -RASTER_VERTEX='0.0*cm, 0.0*cm, reset ' -SCALE_FIELD='binary_torus, +1.00' -SCALE_FIELD='binary_solenoid, -1.00' -OUTPUT='hipo, gemc.hipo' -INTEGRATEDRAW='*' | sed '/G4Exception-START/,/G4Exception-END/d'
185+
$DRIFTCHAMBERS/install/bin/denoise2.exe -i gemc.hipo -o gemc_denoised.hipo -t 1 -n $DRIFTCHAMBERS/denoising/code/network/cnn_autoenc_0f_112.json
186+
recon-util -y /cvmfs/oasis.opensciencegrid.org/jlab/hallb/clas12/sw/noarch/clas12-config/dev/coatjava/10.0.2/rga_fall2018_target_at_m3.5.yaml -i gemc_denoised.hipo -o recon.hipo
187+
echo
188+
ls -l
189+
```
190+
191+
## Testing with apptainer
192+
193+
```
194+
module load singularity
195+
singularity shell --bind /cvmfs --contain --ipc --pid --cleanenv /cvmfs/singularity.opensciencegrid.org/jeffersonlab/clas12software:devel
196+
singularity shell --home ${PWD}:/srv --pwd /srv --bind /cvmfs --contain --ipc --pid --cleanenv /cvmfs/singularity.opensciencegrid.org/jeffersonlab/clas12software:devel
197+
```

0 commit comments

Comments
 (0)