Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

POD version of TPCFastSpaceChargeCorrection #13301

Open
wants to merge 2 commits into
base: dev
Choose a base branch
from

Conversation

shahor02
Copy link
Collaborator

@shahor02 shahor02 commented Jul 16, 2024

Created from the TPCFastTransform using:

std::vector<char> buff; // can be also pmr::vector from DPL make(..)
const o2::gpu::TPCFastTransformPOD& pod = o2::gpu::TPCFastTransformPOD::create(buff, tpc_fast_transform);

The buff vector will be expanded during creation and can be sent over DPL. On the receiving side, it should be cast as:

const auto& podTransform = o2::gpu::TPCFastTransformPOD::get(pc.inputs().get<gsl::span<char>>(ref));

No initialization is needed, the transform methods (at the moment all methods of TPCFastSpaceChargeCorrection are implemented) can be directly queried from the object received over sh.memory.

Copy link
Contributor

REQUEST FOR PRODUCTION RELEASES:
To request your PR to be included in production software, please add the corresponding labels called "async-" to your PR. Add the labels directly (if you have the permissions) or add a comment of the form (note that labels are separated by a ",")

+async-label <label1>, <label2>, !<label3> ...

This will add <label1> and <label2> and removes <label3>.

The following labels are available
async-2023-pbpb-apass3
async-2023-pbpb-apass4
async-2023-pp-apass4
async-2024-pp-apass1
async-2022-pp-apass7
async-2024-pp-cpass0

shahor02 added 2 commits July 18, 2024 16:43
Created from the TPCFastTransform using:
std::vector<char> buff; // can be also pmr::vector from DPL make(..) const o2::gpu::TPCFastTransformPOD& pod = o2::gpu::TPCFastTransformPOD::create(buff, tpc_fast_transform);

The buff vector will be expanded during creation and can be sent over DPL. On the receiving side, it should be cast as:
const auto& podTransform = o2::gpu::TPCFastTransformPOD::get(pc.inputs().get<gsl::span<char>>(ref));

No initialization is needed, the transform methods (at the moment all methods of TPCFastSpaceChargeCorrection are implemented) can be directly queried from the object received over sh.memory.

Add perfmormance test for pod map
@alibuild
Copy link
Collaborator

alibuild commented Jul 24, 2024

Error while checking build/O2/fullCI for 73187e4 at 2025-01-02 00:09:

## sw/BUILD/O2-latest/log
c++: error: unrecognized command-line option '--rtlib=compiler-rt'
c++: error: unrecognized command-line option '--rtlib=compiler-rt'


## sw/BUILD/O2Physics-latest/log
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:


## sw/BUILD/O2-full-system-test-latest/log
Detected critical problem in logfile reco_NOGPU.log
reco_NOGPU.log:[52224:calib-phos-l1phase]: [23:09:20][ERROR] Exception while running: Fatal error. Rethrowing.
reco_NOGPU.log-[52224:calib-phos-l1phase]: [23:09:20][FATAL] Unhandled o2::framework::runtime_error reached the top of main of o2-phos-calib-workflow, device shutting down. Reason: Fatal error
[52224:calib-phos-l1phase]: [23:09:19][ERROR] Requested resource does not exist: http://alice-ccdb.cern.ch//PHS/Calib/BadMap/1735772959798/
[52224:calib-phos-l1phase]: [23:09:19][FATAL] Got nullptr from CCDB for path PHS/Calib/BadMap and timestamp 1735772959798
[52224:calib-phos-l1phase]: [23:09:20][ERROR] Exception while running: Fatal error. Rethrowing.
[52224:calib-phos-l1phase]: [23:09:20][FATAL] Unhandled o2::framework::runtime_error reached the top of main of o2-phos-calib-workflow, device shutting down. Reason: Fatal error
[ERROR] Workflow crashed - PID 52224 (calib-phos-l1phase) did not exit correctly however it's not clear why. Exit code forced to 128.


## sw/BUILD/o2checkcode-latest/log
--
========== List of errors found ==========
++ GRERR=0
++ grep -v clang-diagnostic-error error-log.txt
++ grep ' error:'
++ GRERR=1
++ [[ 1 == 0 ]]
++ mkdir -p /sw/INSTALLROOT/0d81ace840bf42bef39d603c6c959d27ef8f8fd8/slc8_x86-64/o2checkcode/1.0-local909/etc/modulefiles
++ cat
--

Full log here.

@alibuild
Copy link
Collaborator

alibuild commented Sep 9, 2024

Error while checking build/O2/fullCI for 704db41 at 2024-09-25 14:44:

## sw/BUILD/Rivet-latest/log
make[2]: *** [Makefile:544: core.cpp] Error 127
make[1]: *** [Makefile:440: all-recursive] Error 1
make: *** [Makefile:561: all-recursive] Error 1

Full log here.

Copy link
Contributor

This PR did not have any update in the last 30 days. Is it still needed? Unless further action in will be closed in 5 days.

@github-actions github-actions bot added the stale label Nov 23, 2024
@shahor02
Copy link
Collaborator Author

Commenting to avoid closure

Copy link
Collaborator

@davidrohr davidrohr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me except that I do not understand why we would need a dictionary

@@ -63,6 +63,7 @@
#pragma link C++ class o2::gpu::TPCFastTransformGeo::RowInfo + ;

#pragma link C++ class o2::gpu::TPCFastTransform + ;
#pragma link C++ class o2::gpu::TPCFastTransformPOD;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why do we create a dictionary if we never want to store this to file=

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is handy for interactive root tests. You can remove it if you want.

@davidrohr
Copy link
Collaborator

ok then, I don't mind. we can merge it.

@shahor02
Copy link
Collaborator Author

It will likely conflict with the next commit from @sgorbuno and with the current TPCFastTransform we are anyway not going to use it. Should not we wait for the summable TPCFastTransform?

@davidrohr
Copy link
Collaborator

@sgorbuno : This is Ruben's class for the in-memory flat representation of the TPC transformation without pointers.
From my side this looks good.
Could you have a look? Would you prefer that we merge this as is, or shall we wait for further changes to TPCFastTransform?

@github-actions github-actions bot closed this Nov 30, 2024
@shahor02 shahor02 removed the stale label Dec 2, 2024
@shahor02 shahor02 reopened this Dec 2, 2024
Copy link
Contributor

github-actions bot commented Dec 2, 2024

REQUEST FOR PRODUCTION RELEASES:
To request your PR to be included in production software, please add the corresponding labels called "async-" to your PR. Add the labels directly (if you have the permissions) or add a comment of the form (note that labels are separated by a ",")

+async-label <label1>, <label2>, !<label3> ...

This will add <label1> and <label2> and removes <label3>.

The following labels are available
async-2023-pbpb-apass4
async-2023-pp-apass4
async-2024-pp-apass1
async-2022-pp-apass7
async-2024-pp-cpass0
async-2024-PbPb-cpass0
async-2024-PbPb-apass1
async-2024-ppRef-apass1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

3 participants