Adding asan sanitizer support for hip - #795
Conversation
|
Updated cmake command: Updated Output (for hip kernel sanitizer test): Note: Will not work if |
|
Issue: it seems like running the test with |
|
The way this test is ran in |
|
See AMD bug report (277) - made reproducer for AMD to look in to. Seems like this does not yet work as expected in rocm 5.4 |
|
Update: A fix is supposed to be ready in rocm 6.0 |
…an-poisoning-for-hip
|
Edited out... |
…an-poisoning-for-hip
…-1020-asan-poisoning-for-hip
|
The fix is in rocm/6.0.0, but we have to add a |
|
This has been a long time coming! @adrienbernede - once the blt/camp releases come out and we can update umpire to rocm/6.0.0 we should add this test! (No updates yet for the reason behind why the device allocator test is failing with 6.0.0 - ticket has been "submitted to vendor", so it is being looked into at least...) |
I have not tried that, but I can try that now! |
…an-poisoning-for-hip
…an-poisoning-for-hip
|
Had some troubles compiling all of a sudden, but was able to compile again after adding a new flag. Updated cmake: |
| __global__ void test_write_for_hip(double* data_ptr, std::size_t INDEX) | ||
| { | ||
| if (threadIdx.x == 0) { | ||
| data_ptr[INDEX] = 256; |
|
|
||
| if (strategy.find("QuickPool") != std::string::npos) { | ||
| auto pool = rm.makeAllocator<umpire::strategy::QuickPool>("test_allocator", rm.getAllocator("HOST")); | ||
| if ((resource_type.find("DEVICE") != std::string::npos) || (resource_type.find("UM") != std::string::npos)) { |
There was a problem hiding this comment.
I think we might actually want == instead of find.
| run_sanitizer_test('DynamicPoolList', 'read', 'HOST') | ||
| run_sanitizer_test('DynamicPoolList', 'write', 'HOST') | ||
| run_sanitizer_test('QuickPool', 'read', 'HOST') | ||
| run_sanitizer_test('QuickPool', 'write', 'HOST') |
I did not see any leaks with rocm 6.4.1 on rzadams with blt_hip_smoke or resource_manager_tests! |
How did you build it? |
|
Latest build: |
…an-poisoning-for-hip
|
Latest updates.... need to use rocm 6.4.2 only. With I can run the sanitizer tests with: and get: or run with: and get: |
Though it should be noted that the expected output should look something like the first comment on this branch, just with the correct output.... |
…an-poisoning-for-hip
|
Update: then run |
…an-poisoning-for-hip
…an-poisoning-for-hip
…an-poisoning-for-hip
|
Any updates on this? |
Cmake command on rzvernal:
Warning while compiling:
clang-15: warning: ignoring '-fsanitize=address' option for offload arch 'gfx90a' as it is not currently supported there. Use it with an offload arch containing 'xnack+' instead [-Woption-ignored]Output of
sanitizer_tests.cpp