Repository navigation
Conversation
|
In case someone wants to experiment with it while I am away... |
|
Error while checking build/O2/fullCI_slc9 for e139bea at 2026-11-10 03:51: Full log here. |
The stage run with ENABLE_GPU_TEST=1 was hardcoded to CUDA. FST_GPUTYPE selects it, e.g. FST_GPUTYPE=METAL on macOS; the default stays CUDA.
…pports it ENABLE_METAL defaults to AUTO like the other backends: it is used when the Metal toolchain compiles MSL 4.1 (macOS 27) and silently skipped otherwise. Notice that in any case by default we use the CPU, even when Metal is available.
|
Error while checking build/O2/fullCI_slc9 for 720ab81 at 2026-11-12 09:57: Full log here. |
| SYNCMODE=1 CONFIG_EXTRA_PROCESS_o2_gpu_reco_workflow="GPU_global.dump=1;" WORKFLOW_DETECTORS=TPC SHMSIZE=16000000000 $O2_ROOT/prodtests/full-system-test/dpl-workflow.sh | ||
| ARGS_ALL_EXTRA="--completion-policy=wait --exit-transition-timeout 20" \ | ||
| CONFIG_EXTRA_PROCESS_o2_gpu_reco_workflow="GPU_global.dump=1;" \ | ||
| WORKFLOW_DETECTORS=TPC SYNCMODE=1 SHMSIZE=$((16<<30)) EXTINPUT=1 \ |
There was a problem hiding this comment.
Why do you propose to use EXTINPUT? It should be easiest for the user to ust convert the existing raw data, and not run DD or some other chain in parallel to go over the readout proxy. And why do we need the completion policy and exit transition settings here? I'd leave this as is, and you can add an additional comment below how to get the data from DataDistribution, but I'd not make the base version more complicated than necessary.
|
|
||
| ## Using the built-in event generator | ||
|
|
||
| With `--eventGenerator` the benchmark generates simple synthetic events itself, without any simulation or raw data. The parent `events/` folder has to exist, since the generator only creates the dataset folder itself: |
There was a problem hiding this comment.
ok, it might be worth mentioning it, but this built-in generator was done for some particular studies how the track fit behaves and it is fully unsupported. So I would in principle discourage using it for anything but special tests.
There was a problem hiding this comment.
ok, I will simply drop the changes to the documentation form this commit and review them separately.
|
|
||
| # NOTE!!!! - Whenever this file is changed, move it over to alidist/resources | ||
| # FindO2GPU.cmake Version 23 | ||
| # FindO2GPU.cmake Version 25 |
There was a problem hiding this comment.
Why does it jump by 2 version numbers?
There was a problem hiding this comment.
I merged two commits. I will fix it.
| In o2, `o2-tpc-reco-workflow` and the `o2-gpu-reco-workflow` can dump event data with the `configKeyValue` `GPU_global.dump=1;`. | ||
| This will dump the event data to the local folder, all dumped files have a `.dump` file extension. If there are multiple TFs/events processed, there will be multiple `event.i.dump` files. In order to create a standalone dataset out of these, just copy all the `.dump` files to a subfolder in `~/standalone/events/[FOLDERNAME]`. | ||
|
|
||
| ## What a dataset consists of |
There was a problem hiding this comment.
While at it, it might be worth mentioning an explaining the recreateTrivialCalibObjects option. When some of the calibration data formats in O2 changes, which happens often, the event.*.dump is still readable, but the other files need updating. It can be done either by dumping again from dpl-workflow.sh. But for MC without distortions, i.e. when all files just use nominal values, the standalone benchmark has recreateTrivialCalibObjects to recreate the files. There are 2 different verions, o2-gpu-standalone-benchmark of O2 can rebuold all of them, and the ca binary of the standalone benchmark most of them (it lacks access to CCDB).
| DISABLE_PROCESSING=1 NEvents=5 NEventsQED=100 SHMSIZE=16000000000 $O2_ROOT/prodtests/full_system_test.sh | ||
| mkdir -p test && cd test | ||
| ulimit -n 1024 | ||
| NEvents=5 NEventsQED=100 $O2_ROOT/prodtests/full_system_test.sh |
There was a problem hiding this comment.
Why did you remove DISALBE_PROCESSING? It is not needed for dumping files. And why did you remove SHMSIZE? (althoigh not 100% sure it is needed without DISABLE_PROCESSING).
|
ok, I should have said, in general I am fine with this change (as discussed in person). I also appreciate if people improve the documentation :). So please go ahead like this :). |
|
I am not sure if "people" is the right collective noun, but ok... ;-) |
ENABLE_METAL defaults to AUTO like the other backends: it is used when the
Metal toolchain compiles MSL 4.1 (macOS 27) and silently skipped otherwise.
Notice that in any case by default we use the CPU, even when Metal is available.