HEP-Score within the HEP-Benchmarking suite: -------------------------------------------- HEPscore PPT: https://indico.cern.ch/event/1096028/contributions/4761493/attachments/2404581/4114747/GDB-09-03-2022-giordano.pdf HEPScore GitHub (HEP-score & HEP-workloads): https://gitlab.cern.ch/hep-benchmarks/hep-score https://gitlab.cern.ch/hep-benchmarks/hep-workloads --- Let's run on a standard workernode (wn-d22-010): ssh -A wn-d22-010 First of all, stop HTCondor: sudo systemctl stop condor systemctl status condor --> Active: inactive (dead) since Tue 2022-10-18 17:26:46 BST; 4s ago Make sure all the necessary ingredients are there: (Python 3.6 , Pip3 , Singularity) singularity --version --> singularity version 3.8.7-1.el7 python3 --version --> Python 3.6.8 pip3 --version --> pip 21.3.1 from /home/peppo/.local/lib/python3.6/site-packages/pip (python 3.6) git --version --> git version 1.8.3.1 Chose a folder to execute the job: (e.g., /tmp/ or /var/lib/condor/execute/) sudo mkdir /var/lib/condor/execute/hstest/ sudo chown peppo /var/lib/condor/execute/hstest sudo chgrp wheel /var/lib/condor/execute/hstest cd /var/lib/condor/execute/hstest/ Install the HEP Benchmark Suite: https://gitlab.cern.ch/hep-benchmarks/hep-benchmark-suite/ git clone https://gitlab.cern.ch/hep-benchmarks/hep-benchmark-suite.git cd hep-benchmark-suite/ pip3 install --user . export PATH=$PATH:~/.local/bin cd .. --- Alternative version: wget https://hep-benchmarks.web.cern.ch/hep-benchmark-suite/releases/v2.1/hep-benchmark-suite-wheels-py37-v2.1.tar tar xvf hep-benchmark-suite-wheels-py37-v2.1.tar pip3 install suite_wheels/* --> Successfully installed PyYAML-5.4.1 hep-benchmark-suite-2.1 hep-score-1.0.0 importlib-metadata-4.5.0 pbr-5.6.0 setuptools-44.1.1 typing-extensions-3.10.0.0 zipp-3.4.1 --- Check versions: bmkrun --version --> v2.1 hep-score --version --> hep-score 1.0.0 Install (and upgrade) the HEP-Score package: git clone https://gitlab.cern.ch/hep-benchmarks/hep-score.git cd hep-score pip3 install --user . --> Successfully installed hep-score-1.4.0 pbr-5.9.0 pyyaml-6.0 hep-score -p --> hepscore_benchmark: ... cd .. Ok, the packages are installed and PATH has been updated. Let's update the configuration and run it (see "How to run" on the Git page): mkdir workdir cd workdir/ vi hep_benchmark.yml <-- publish: false config: ./hepscore_conf.yml vi hepscore_conf.yml <-- reference_machine: "CPU 2x AMD EPYC 7513 32-Core Processors HT @ 2.60 GHz (x86_64)" # wn-d22 bmkrun -c hep_benchmark.yml Or, better run with 'nohup': nohup bmkrun -c hep_benchmark.yml & It takes a few hours, depending on how many jobs are enabled in the config file. When done, check the output: ll run_2022-11-04_*/HEPSCORE/atlas-gen-bmk/atlas-gen_bmk_summary.json Make sure you have a Grid Certificate available: ls -latrh /home/peppo/.globus/ --> -r--r--r--. 1 peppo wheel 1.9K Jul 14 09:33 usercert.pem -r--r--r--. 1 peppo wheel 2.0K Jul 14 09:33 userkey.pem And publish the results (${WORKDIR}/${MYENV}/bin/python3 ${WORKDIR}/${MYENV}/lib/python3.6/site-packages/hepbenchmarksuite/plugins/send_queue.py --port=61123 --server=dashb-mb.cern.ch --topic /topic/vm.spec --key $CERTIFKEY --cert $CERT --file $RESULTS): find ~/. -name send_queue.py --> /home/peppo/./.local/lib/python3.6/site-packages/hepbenchmarksuite/plugins/send_queue.py export PATH=$PATH:/home/peppo/.local/lib/python3.6/site-packages/hepbenchmarksuite/plugins/ export CERTKEY=/home/peppo/.globus/userkey.pem export CERT=/home/peppo/.globus/usercert.pem python3 /home/peppo/.local/lib/python3.6/site-packages/hepbenchmarksuite/plugins/send_queue.py --port=61123 --server=dashb-mb.cern.ch --topic /topic/vm.spec --key $CERTKEY --cert $CERT --file run_2022-07-20_0842/bmkrun_report.json Done. Results will be visible on the CERN Kibana dashboard: https://es-hep-bmk.cern.ch/kibana/app/dashboards# --- --- --- HEP-Score as standalone packages: --------------------------------- List of available containers (x86 & ARM): https://gitlab.cern.ch/hep-benchmarks/hep-workloads-sif/container_registry Good ones for x86 and ARM (October 2022): hep-benchmarks/hep-workloads-sif/hello-world-ma-bmk --> ci-v1.0_aarch64 ci-v1.0_x86_64 hep-benchmarks/hep-workloads-sif/atlas-gen_sherpa-ma-bmk --> ci-v1.0_aarch64 ci-v1.0_x86_64 hep-benchmarks/hep-workloads-sif/atlas-sim_mt-ma-bmk --> v2.0_aarch64 (latest) v2.0_x86_6 hep-benchmarks/hep-workloads-sif/cms-reco-run3-ma-bmk --> v1.1_aarch64 (ci-v1.0, v1.0, latest) v1.1_x86_64 hep-benchmarks/hep-workloads-sif/cms-digi-run3-ma-bmk --> v1.0_aarch64 (ci-v1.0, latest) v1.0_x86_64 hep-benchmarks/hep-workloads-sif/cms-gen-sim-run3-ma-bmk --> v1.0_aarch64 (ci-v0.1, latest) v1.0_x86_64 --- Run standalone container on 'x86' test node: ssh -A amd-e22 mkdir -p /tmp/test chmod a+rw /tmp/test cd /tmp/test/ vi hepscore_conf.yml <-- reference_machine: "CPU AMD EPYC 7643 48-Core Processor HT @ 2.30 GHz (x86_64)" Check that the container exists: singularity run -B /tmp/test:/results oras://gitlab-registry.cern.ch/hep-benchmarks/hep-workloads-sif/cms-reco-run3-ma-bmk:v1.0_x86_64 -h And run it (with nohup): nohup singularity run -B /tmp/test:/results oras://gitlab-registry.cern.ch/hep-benchmarks/hep-workloads-sif/cms-reco-run3-ma-bmk:v1.0_x86_64 & Check output: cat cms-reco-run3-ma-*/cms-reco-run3-ma_summary.json exit Run standalone container on 'arm' test node: ssh -A arm-e22 mkdir -p /tmp/test chmod a+rw /tmp/test cd /tmp/test/ vi hepscore_conf.yml <-- reference_machine: "CPU Ampere ARMv8 Neoverse-N1 80-Core Processor @ 3.00 GHz (aarch64)" Check that the container exists: singularity run -B /tmp/test:/results oras://gitlab-registry.cern.ch/hep-benchmarks/hep-workloads-sif/cms-reco-run3-ma-bmk:v1.0_aarch64 -h And run it (with nohup): nohup singularity run -B /tmp/test:/results oras://gitlab-registry.cern.ch/hep-benchmarks/hep-workloads-sif/cms-reco-run3-ma-bmk:v1.0_aarch64 & Check output: cat cms-reco-run3-ma-*/cms-reco-run3-ma_summary.json exit Done. --- --- ---