RTK icon indicating copy to clipboard operation
RTK copied to clipboard

ENH: Remove ITKCudaCommon from the source tree

Open AlexyPellegrini opened this issue 2 years ago • 18 comments

Now builds with the remote module CudaCommon of ITK. Builds both as a remote module of ITK and as a standalone library. This MR replaces https://github.com/SimonRit/RTK/pull/427

AlexyPellegrini avatar May 30 '22 12:05 AlexyPellegrini

@LucasGandel

AlexyPellegrini avatar May 30 '22 13:05 AlexyPellegrini

Thanks @AlexyPellegrini! I think that the CI must be updated to account for the ITKCudaCommon dependency. See this comment to know how to do it: https://github.com/InsightSoftwareConsortium/ITKModuleTemplate/pull/123#issuecomment-1022172448

SimonRit avatar May 31 '22 08:05 SimonRit

FYI, my plan is to finalize SimonRit/ITKCudaCommon#15. I'll update then #495. I will ask you then to rebase your PR on it... It's taking longer than expected because I have uncovered some issues by setting up the CI, sorry for the delay.

SimonRit avatar Jun 03 '22 13:06 SimonRit

@SimonRit The windows cuda python packages seems to work well. However there is an issue with docker for the linux cuda python packages (see here). Do you have any clue about what is happening with the linux self-hosted runner?

LucasGandel avatar Jun 28 '22 11:06 LucasGandel

@SimonRit The windows cuda python packages seems to work well. However there is an issue with docker for the linux cuda python packages (see here). Do you have any clue about what is happening with the linux self-hosted runner?

Sorry, the docker service was no longer running. It should be fixed now, I have scheduled a new run or all jobs. However, shouldn't this trigger a job failure? I'm not sure to understand why it doesn't.

SimonRit avatar Jul 04 '22 05:07 SimonRit

The compilation is still struggling due to missing CudaCommonExport.h, see here. This file should be generated when compiling CudaCommon, any clue why it can't find it? I'm not sure I understand this manual operation but for sure CudaCommonExport.h is not there but in the binary directory.

SimonRit avatar Jul 05 '22 09:07 SimonRit

To be honest, we copied it from ITKUltrasound's source code, all remote module are build this way with this copy of their include at the end. Maybe we need to also copy that generated config header to that include directory to make it accessible, or maybe it is not the good way of doing this and we should find a way to build it without any copy. Can you check the path of the directory that contains the config header ?

AlexyPellegrini avatar Jul 06 '22 11:07 AlexyPellegrini

I can't find the file... I can find ./_work/RTK/RTK/_skbuild/linux-x86_64-3.7/cmake-build/include/RTKExport.h but _work/RTK/RTK/ITKCudaCommon/_skbuild is empty. I'm lost...

SimonRit avatar Jul 07 '22 14:07 SimonRit

As far as I can see, the remote modules BSplineGradient, HigherOrderAccurateGradient, SplitComponents, Strain, from which Ultrasound depends, do not need this generated file (grep Export in their source repo was empty).

SimonRit avatar Jul 07 '22 14:07 SimonRit

I found a typo in what I wrote, and it was one of the include dir copy so I could make sense, can you try to launch build-linux-cuda-python-packages (37) once again ?

AlexyPellegrini avatar Jul 07 '22 15:07 AlexyPellegrini

FYI, the problem with CudaCommonExport.h is still here. During the build, the file is in ./_work/RTK/RTK/ITKCudaCommon/_skbuild/linux-x86_64-3.7/cmake-build/include/CudaCommonExport.h but it seems to be cleaned automatically. I guess it should be installed here and I'm not sure why it is not?

SimonRit avatar Jul 12 '22 10:07 SimonRit

I'd like to quickly do a release now that #507 is merged (see InsightSoftwareConsortium/ITK#3528). Do you think we should finalize this PR before? What is its status?

SimonRit avatar Aug 17 '22 21:08 SimonRit

I'd like to quickly do a release now that #507 is merged (see InsightSoftwareConsortium/ITK#3528). Do you think we should finalize this PR before? What is its status?

Yes I will rebase this on master and it should be ready

LucasGandel avatar Aug 18 '22 06:08 LucasGandel

@SimonRit This should finally pass once https://github.com/InsightSoftwareConsortium/ITKPythonPackage/pull/200 is merged and new ITKPythonBuilds are released

LucasGandel avatar Aug 26 '22 07:08 LucasGandel

@SimonRit This should finally pass once InsightSoftwareConsortium/ITKPythonPackage#200 is merged and new ITKPythonBuilds are released

Following @thewtex' comment, I have relaunched the checks. But it will likely fail for manylinux2014...

SimonRit avatar Sep 07 '22 12:09 SimonRit

Can you rebase on master to retrigger the tests based on #510?

SimonRit avatar Oct 12 '22 07:10 SimonRit

Can you rebase on master to retrigger the tests based on #510?

Done! Thanks for the update!

Please make sure to use "squash and merge" button if everything goes well.

LucasGandel avatar Oct 12 '22 12:10 LucasGandel

@SimonRit It looks like the pipelines are passing 🥳 🎉 We should test the produced wheels and merge if everything is fine

LucasGandel avatar Oct 18 '22 06:10 LucasGandel