1*da0073e9SAndroid Build Coastguard Worker #pragma once 2*da0073e9SAndroid Build Coastguard Worker 3*da0073e9SAndroid Build Coastguard Worker #if defined(__ELF__) && (defined(__x86_64__) || defined(__i386__)) && \ 4*da0073e9SAndroid Build Coastguard Worker !(defined(TORCH_DISABLE_SDT) && TORCH_DISABLE_SDT) 5*da0073e9SAndroid Build Coastguard Worker 6*da0073e9SAndroid Build Coastguard Worker #define TORCH_HAVE_SDT 1 7*da0073e9SAndroid Build Coastguard Worker 8*da0073e9SAndroid Build Coastguard Worker #include <c10/util/static_tracepoint_elfx86.h> 9*da0073e9SAndroid Build Coastguard Worker 10*da0073e9SAndroid Build Coastguard Worker #define TORCH_SDT(name, ...) \ 11*da0073e9SAndroid Build Coastguard Worker TORCH_SDT_PROBE_N( \ 12*da0073e9SAndroid Build Coastguard Worker pytorch, name, 0, TORCH_SDT_NARG(0, ##__VA_ARGS__), ##__VA_ARGS__) 13*da0073e9SAndroid Build Coastguard Worker // Use TORCH_SDT_DEFINE_SEMAPHORE(name) to define the semaphore 14*da0073e9SAndroid Build Coastguard Worker // as global variable before using the TORCH_SDT_WITH_SEMAPHORE macro 15*da0073e9SAndroid Build Coastguard Worker #define TORCH_SDT_WITH_SEMAPHORE(name, ...) \ 16*da0073e9SAndroid Build Coastguard Worker TORCH_SDT_PROBE_N( \ 17*da0073e9SAndroid Build Coastguard Worker pytorch, name, 1, TORCH_SDT_NARG(0, ##__VA_ARGS__), ##__VA_ARGS__) 18*da0073e9SAndroid Build Coastguard Worker #define TORCH_SDT_IS_ENABLED(name) (TORCH_SDT_SEMAPHORE(pytorch, name) > 0) 19*da0073e9SAndroid Build Coastguard Worker 20*da0073e9SAndroid Build Coastguard Worker #else 21*da0073e9SAndroid Build Coastguard Worker 22*da0073e9SAndroid Build Coastguard Worker #define TORCH_HAVE_SDT 0 23*da0073e9SAndroid Build Coastguard Worker 24*da0073e9SAndroid Build Coastguard Worker #define TORCH_SDT(name, ...) \ 25*da0073e9SAndroid Build Coastguard Worker do { \ 26*da0073e9SAndroid Build Coastguard Worker } while (0) 27*da0073e9SAndroid Build Coastguard Worker #define TORCH_SDT_WITH_SEMAPHORE(name, ...) \ 28*da0073e9SAndroid Build Coastguard Worker do { \ 29*da0073e9SAndroid Build Coastguard Worker } while (0) 30*da0073e9SAndroid Build Coastguard Worker #define TORCH_SDT_IS_ENABLED(name) (false) 31*da0073e9SAndroid Build Coastguard Worker #define TORCH_SDT_DEFINE_SEMAPHORE(name) 32*da0073e9SAndroid Build Coastguard Worker #define TORCH_SDT_DECLARE_SEMAPHORE(name) 33*da0073e9SAndroid Build Coastguard Worker 34*da0073e9SAndroid Build Coastguard Worker #endif 35