Open Jacobfaib opened 1 year ago
I have reduced this problem down to interference from ASAN (https://github.com/google/sanitizers/issues/629) with CUDA runtime. This causes CUDA allocation functions to mysteriously fail, which yaksa apparently fails to check for. This problem manifests later as the above bug. Yaksa should check that allocation functions succeed or fail appropriately.
The fix for users is to globally set the ASAN option protect_shadow_gap=0
via
$ ASAN_OPTIONS=protect_shadow_gap=0 ./user_app
or in source via
extern "C" const char *__asan_default_options() { return "protect_shadow_gap=0"; }
Perhaps yaksa can set this when it detects ASAN when built with CUDA support. This can be done at compile time via
#ifndef __has_feature
#define __has_feature(x) 0
#endif
#if __has_feature(address_sanitizer) || defined(__SANITIZE_ADDRESS__)
// ASAN active
#endif
The error
To reproduce
The problem
yaksa_config.log mpich_config.log