Conversation
SimonRit
left a comment
There was a problem hiding this comment.
I would like to be able to compile both the CudaCommon latest release and master's head versions, following RTK's policy for ITK versions. In this case, it might be doable by testing whether GetGPUBufferPointerPtr is defined as is done in eb90fb4 for an ITK macro. Note the regular expression in the log. Do you want to give it a try or should I try to implement this?
Should we add a target_compile_definition in ITKCudaCommon to peform such a check (e.g. "CudaDataManagerHasGetGPUBufferPointerPtr")? Or do you prefer to use the CudaCommon_VERSION as suggested in RTKConsortium/ITKCudaCommon#42 ? Or something else ? |
No preference, the second one sounds simpler to me. But it is not defined for the latest release so it will just be #ifdef CUDA_COMMON_MAJOR_VERSION
#else
#endifI guess |
2706a29 to
415aa1b
Compare
|
@SimonRit To preserve backward compatibility with CudaCommon, it was also required to add checks in itkCudaImageRTK.wrap, as it uses CudaCommon_SOURCE_DIR which is undefined before CudaCommon 2.0. The linter is unhappy with the new #ifdef, let me know if you have any other feedback before I fix the style.Thanks |
415aa1b to
cba7a01
Compare
SimonRit
left a comment
There was a problem hiding this comment.
This is ready to be merged IMO, thanks for this great work maintaining backward compatibility with the CudaCommon HEAD and the new PR. There are (weird) code style issues:
https://github.com/RTKConsortium/RTK/actions/runs/11798626855/job/32865225878#step:4:6
Can you fix them before I merge please?
Requires CudaCommon@e2f19a1 to access the source dir
cba7a01 to
5be1277
Compare
Thanks! Style issues have been fixed (although they were definitely weird). |
SimonRit
left a comment
There was a problem hiding this comment.
Thanks for addressing the style issue! BTW, ITK is working on an upgrade of clang, see e.g.
InsightSoftwareConsortium/ITK#5012
InsightSoftwareConsortium/ITK#5015
We should plan following this upgrade.
Implement changes required on the RTK side following the implementation of cuda_array_interface in CudaCommon
Requires ITKCudaCommon#42