cms-patatrack / pixeltrack-standalone

Standalone Patatrack pixel tracking
Apache License 2.0
17 stars 35 forks source link

[Serial] Propagate changes in cudaCompat to source code #377

Closed markdewing closed 2 years ago

markdewing commented 2 years ago

Propagate the changes expressed in cudaCompat.h to source code changes in the serial variant. This makes it easier to read as a "serial" (or non-CUDA) code.

Most of the changes were made programmatically using comby (https://comby.dev) and cleaned up with clang-format. The cuda-specific code (under the CUDA_ARCH preprocessor define and all of radixSort.h) was removed manually.

The comby matches/rewrites are stored in configuration files (.toml suffix). Individual configuration files are applied with the command: comby -i -config remove_syncthreads.toml -matcher .c -d pixeltrack-standalone/src/serial

The configuration files are attached serial_rewrite.tar.gz

Some of the changes:

There were some remaining cuda index references (to the z component) that were removed manually.

The atomic calls were left alone as useful markers to know where to put atomic operations in any parallel code based off this branch.

makortel commented 2 years ago

Physics and performance are unchanged.