-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Cuda morphological hausdorff #4078
base: dev
Are you sure you want to change the base?
Cuda morphological hausdorff #4078
Conversation
Thanks, could you please sign the commits and add the necessary copyright section, see: https://github.com/Project-MONAI/MONAI/blob/dev/CONTRIBUTING.md#preparing-pull-requests |
Looks like we have some failing tests but no worries cause its just an import error. Looks like you need to import your new metirc in the __init__.py file of the metrics module. I've added a few targeted comments for now, I would say the cuda file is quite long. Is there a sensible way to split it up? even just seperating some declarations into a well commented .cuh header file would provide a good entry point for people looking at the code. |
Deep thanks for your input @charliebudd, about dividing it into separate files, yes It was like that at the begining But for some reasons particularly in cmake builds (rdc flag is on) occupancy gets lower when multiple files are used. I also upload pdf with some description of the algorithm (work in progress), just for some reference. look into Algorithm description Also can I ask how to run the tests locally, with all MONAI?. I mean I have locally the fork with CUDA Hausdorff Distance, and I want to check is it compiles, with the rest of MONAI. For reference - working python pytorch extension - with benchmarks |
…Mitura14/MONAI into CUDAmorphologicalHausdorff
for more information, see https://pre-commit.ci
Signed-off-by: Jakub Mitura <[email protected]>
…Mitura14/MONAI into CUDAmorphologicalHausdorff Signed-off-by: Jakub Mitura <[email protected]>
Signed-off-by: Jakub Mitura <[email protected]>
Signed-off-by: Jakub Mitura <[email protected]>
/black |
Signed-off-by: monai-bot <[email protected]>
Signed-off-by: Jakub Mitura <[email protected]>
…Mitura14/MONAI into CUDAmorphologicalHausdorff Signed-off-by: Jakub Mitura <[email protected]>
for more information, see https://pre-commit.ci
Signed-off-by: Jakub Mitura <[email protected]>
…Mitura14/MONAI into CUDAmorphologicalHausdorff
for more information, see https://pre-commit.ci
Signed-off-by: Jakub Mitura <[email protected]>
…Mitura14/MONAI into CUDAmorphologicalHausdorff
Signed-off-by: Jakub Mitura <[email protected]>
Signed-off-by: Jakub Mitura <[email protected]>
Signed-off-by: Jakub Mitura <[email protected]>
@wyli Hello could you run the workflows? |
Hi @jakubMitura14 , I started the workflows, please sign-off the git commits. Thanks. |
Thanks @Nic-Ma ! I am signing commits now (I hope that correctly) only some first commits were not - what can I do with this? Additionally I do not have the access currently to linux machine can I ask You, or somebody else to run
Thanks! |
I can help with this, but to do it more efficiently, would be great if you could review the code again, to remove the syntax errors such as: MONAI/monai/_extensions/hausdorff/hausdorff_cuda.cu Lines 2143 to 2144 in 2ae038d
|
Ok thanks !!
…On Mon, Apr 25, 2022, 11:53 Wenqi Li ***@***.***> wrote:
Hi @jakubMitura14 <https://github.com/jakubMitura14> ,
I started the workflows, please sign-off the git commits.
Thanks.
Thanks @Nic-Ma <https://github.com/Nic-Ma> ! I am signing commits now (I
hope that correctly) only some first commits were not - what can I do with
this?
Additionally I do not have the access currently to linux machine can I ask
You, or somebody else to run
style fixes: ./runtests.sh --autofix
Thanks!
I can help with this, but to do it more efficiently, would be great if you
could review the code again, to remove the syntax errors such as:
https://github.com/Project-MONAI/MONAI/blob/2ae038d44479e9578d08846d6d293c0eabe81bdb/monai/_extensions/hausdorff/hausdorff_cuda.cu#L2143-L2144
https://github.com/Project-MONAI/MONAI/blob/2ae038d44479e9578d08846d6d293c0eabe81bdb/monai/_extensions/hausdorff/hausdorff_cuda.cu#L2521
—
Reply to this email directly, view it on GitHub
<#4078 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AM24ZT2NWK2W2IP7FL2T5JTVGZTSVANCNFSM5STPDLXQ>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Signed-off-by: monai-bot <[email protected]>
Signed-off-by: Jakub Mitura <[email protected]>
…Mitura14/MONAI into CUDAmorphologicalHausdorff Signed-off-by: Jakub Mitura <[email protected]>
Signed-off-by: Jakub Mitura <[email protected]>
Signed-off-by: Jakub Mitura <[email protected]>
for more information, see https://pre-commit.ci
there are some test errors, any idea? ======================================================================
ERROR: test_value_12 (tests.test_hausdorff_distance_morphologic.TestHausdorffDistanceMorphological)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/opt/conda/lib/python3.8/site-packages/parameterized/parameterized.py", line 533, in standalone_func
add_video needs package moviepy
return func(*(a + p.args), **p.kwargs)
File "/__w/MONAI/MONAI/tests/test_hausdorff_distance_morphologic.py", line 125, in test_value
hd_metric = MorphologicalHausdorffDistanceMetric(
File "/__w/MONAI/MONAI/monai/metrics/morphological_hausdorff_distance.py", line 88, in __init__
self.compiled_extension = load_module("hausdorff")
File "/__w/MONAI/MONAI/monai/_extensions/loader.py", line 86, in load_module
module = load(
File "/opt/conda/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 1130, in load
return _jit_compile(
File "/opt/conda/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 1368, in _jit_compile
return _import_module_from_library(name, build_directory, is_python_module)
File "/opt/conda/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 1761, in _import_module_from_library
module = importlib.util.module_from_spec(spec)
File "<frozen importlib._bootstrap>", line 556, in module_from_spec
File "<frozen importlib._bootstrap_external>", line 1166, in create_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
ImportError: /github/home/.cache/torch_extensions/py38_cu116/hausdorff_Linux_3_8_12_112_11_6/hausdorff_Linux_3_8_12_112_11_6.so: undefined symbol: _Z25getHausdorffDistance_CUDAN2at6TensorES0_iiif |
Frankly i do not know how the symbol _Z25getHausdorffDistance_CUDAN2at6TensorES0_iiif appears i suppose it is sth related to pybind but i do not figured it out yet what is the source of the problem |
Signed-off-by: Jakub Mitura <[email protected]>
…Mitura14/MONAI into CUDAmorphologicalHausdorff
Signed-off-by: Jakub Mitura <[email protected]>
these commands would give more detailed error messages in colab GPU runtime: https://colab.research.google.com/drive/1szt-G4srXSRyJKpVuKiKhKYH9Mkbk5dO#scrollTo=q1YHjwlQqHi1 in case it's useful for debugging |
Signed-off-by: Jakub Mitura <[email protected]>
for more information, see https://pre-commit.ci
Yes thanks ! it helps - but frankly i do not get why I have this is perfectly valid cuda function locally it gave no such errors hmm |
Not sure if it is relevant, but the next cupy version will include a CUDA implementation for distance_transform_edt (so only for the euclidean distance case). |
Intresting - thanks ! |
about
#4053