Conversation
- Set CUDA_STATIC_RUNTIME=ON by default in cpp/CMakeLists.txt - Remove cuda-cudart from run requirements in conda recipes
robertmaynard
left a comment
There was a problem hiding this comment.
We can drop all the compute sanitizer suppressions in cpp/compute-sanitizer-suppressions.xml
What? why? |
Sorry, to be clear the suppressions have |
But symbols will still exist somewhere, so that means we can remove the module name but still want to keep the suppressions, and this will actually make it more difficult now since before we could do "suppress all CUDA symbols" and now we need to list them by names. |
|
I understood the correction you've made to the first comment. However, I think what you're saying is we have to make detection significantly tighter now, because we can't anymore just ignore |
|
If I am reading the suppressions correctly they are all interested in: Now I presume we can loosen them to be: |
|
We have suppressions spanning entire modules too
Ah, I think you're right. We're not suppressing all symbols from Detailsdiff --git a/cpp/compute-sanitizer-suppressions.xml b/cpp/compute-sanitizer-suppressions.xml
index 309d4d02..30bbc138 100644
--- a/cpp/compute-sanitizer-suppressions.xml
+++ b/cpp/compute-sanitizer-suppressions.xml
@@ -8,18 +8,6 @@
</what>
<hostStack>
<saveLocation>error</saveLocation>
- <frame>
- <module>.*/libcuda.so.*</module>
- </frame>
- <frame>
- <module>.*/libcudart.so.*</module>
- </frame>
- <frame>
- <module>.*/libcudart.so.*</module>
- </frame>
- <frame>
- <module>.*/libcudart.so.*</module>
- </frame>
<frame>
<func>cudf::detail::cuda_memcpy_async_impl</func>
<module>.*/libcudf.so</module>
@@ -41,18 +29,9 @@
</what>
<hostStack>
<saveLocation>error</saveLocation>
- <frame>
- <module>.*/libcuda.so.*</module>
- </frame>
- <frame>
- <module>.*/libcudart.so.*</module>
- </frame>
- <frame>
- <module>.*/libcudart.so.*</module>
- </frame>
<frame>
<func>cudaMemcpyAsync</func>
- <module>.*/libcudart.so.*</module>
+ <module>.*</module>
</frame>
<frame>
<func>cudf::detail::cuda_memcpy_async_impl</func>
@@ -77,18 +56,9 @@
</what>
<hostStack>
<saveLocation>error</saveLocation>
- <frame>
- <module>*./libcuda.so.*</module>
- </frame>
- <frame>
- <module>.*/libcudart.so.*</module>
- </frame>
- <frame>
- <module>.*/libcudart.so.*</module>
- </frame>
<frame>
<func>cudaMemcpyAsync</func>
- <module>.*/libcudart.so.*</module>
+ <module>.*</module>
</frame>
<frame>
<func>rapidsmpf::buffer_copy const</func>
@@ -127,18 +97,6 @@
</what>
<hostStack>
<saveLocation>error</saveLocation>
- <frame>
- <module>.*/libcuda.so.*</module>
- </frame>
- <frame>
- <module>.*/libcudart.so.*</module>
- </frame>
- <frame>
- <module>.*/libcudart.so.*</module>
- </frame>
- <frame>
- <module>.*/libcudart.so.*</module>
- </frame>
<frame>
<func>cudf::detail::cuda_memcpy_async_impl</func>
<module>.*/libcudf.so</module>
@@ -169,18 +127,9 @@
</what>
<hostStack>
<saveLocation>error</saveLocation>
- <frame>
- <module>.*/libcuda.so.*</module>
- </frame>
- <frame>
- <module>.*/libcudart.so.*</module>
- </frame>
- <frame>
- <module>.*/libcudart.so.12</module>
- </frame>
<frame>
<func>cudaMemcpyAsync</func>
- <module>.*/libcudart.so.12</module>
+ <module>.*</module>
</frame>
<frame>
<func>rapidsmpf::buffer_copy const</func>
@@ -216,18 +165,9 @@
</what>
<hostStack>
<saveLocation>error</saveLocation>
- <frame>
- <module>.*/libcuda.so.*</module>
- </frame>
- <frame>
- <module>.*/libcudart.so.*</module>
- </frame>
- <frame>
- <module>.*/libcudart.so.*</module>
- </frame>
<frame>
<func>cudaMemcpyAsync</func>
- <module>.*/libcudart.so.*</module>
+ <module>.*</module>
</frame>
<frame>
<func>rapidsmpf::buffer_copy const</func>It's just not clear whether starting from any arbitrary frame works or if it needs to provide a complete stack overview, unfortunately the docs do not expand much on that, so there's a chance we may need to regenerate the suppressions completely. |
|
I know nothing about these suppressions or how to test them. CI is passing so I assume this is a manual test. Can someone test @pentschev's proposed diff and commit it if it works? |
Summary
CUDA_STATIC_RUNTIME=ONby default incpp/CMakeLists.txtcuda-cudartfrom run requirements in conda recipesWith static linking of the CUDA runtime, the runtime is embedded in the binaries and the
cuda-cudartpackage is not needed at runtime.Part of rapidsai/build-planning#235