[Mlir-commits] [mlir] 19b1107 - [mlir][gpu] Add debug print with environment value
Guray Ozen
llvmlistbot at llvm.org
Wed Aug 2 02:55:37 PDT 2023
Author: Guray Ozen
Date: 2023-08-02T11:55:32+02:00
New Revision: 19b11079639d1003a2e51b5f032fca5a736dee05
URL: https://github.com/llvm/llvm-project/commit/19b11079639d1003a2e51b5f032fca5a736dee05
DIFF: https://github.com/llvm/llvm-project/commit/19b11079639d1003a2e51b5f032fca5a736dee05.diff
LOG: [mlir][gpu] Add debug print with environment value
This work introduces `MLIR_CUDA_DEBUG` environment value and `debug_print` function to be able to debug runtimes.
Reviewed By: aartbik
Differential Revision: https://reviews.llvm.org/D156232
Added:
Modified:
mlir/lib/ExecutionEngine/CudaRuntimeWrappers.cpp
Removed:
################################################################################
diff --git a/mlir/lib/ExecutionEngine/CudaRuntimeWrappers.cpp b/mlir/lib/ExecutionEngine/CudaRuntimeWrappers.cpp
index d2c977a925ea07..ea3e19f141285e 100644
--- a/mlir/lib/ExecutionEngine/CudaRuntimeWrappers.cpp
+++ b/mlir/lib/ExecutionEngine/CudaRuntimeWrappers.cpp
@@ -55,6 +55,24 @@
thread_local static int32_t defaultDevice = 0;
+const char *kDebugEnvironmentVariable = "MLIR_CUDA_DEBUG";
+
+/// Helper method that checks environment value for debugging.
+bool isDebugEnabled() {
+ static bool isInitialized = false;
+ static bool isEnabled = false;
+ if (!isInitialized)
+ isEnabled = getenv(kDebugEnvironmentVariable) != nullptr;
+ return isEnabled;
+}
+
+#define debug_print(fmt, ...) \
+ do { \
+ if (isDebugEnabled()) \
+ fprintf(stderr, "%s:%d:%s(): " fmt, "CudaRuntimeWrappers.cpp", __LINE__, \
+ __func__, __VA_ARGS__); \
+ } while (0)
+
// Make the primary context of the current default device current for the
// duration
// of the instance and restore the previous context on destruction.
@@ -273,6 +291,24 @@ extern "C" MLIR_CUDA_WRAPPERS_EXPORT void mgpuTensorMapEncodeTiled(
tensorMap, tensorDataType, tensorRank, globalAddress, globalDim,
globalStrides, boxDim, elementStrides, interleave, swizzle, l2Promotion,
oobFill));
+ debug_print("Created TMA descriptor\n Addr: %p\n"
+ "data type : %d\n"
+ "rank : %d\n"
+ "globalDim[5]: %zu, %zu, %zu, %zu, %zu\n"
+ "globalStrides[5]: %zu, %zu, %zu, %zu, %zu\n"
+ "boxDim[5]: %u, %u, %u, %u, %u\n"
+ "elementStrides[5]: %u, %u, %u, %u, %u\n"
+ "interleave: %u \n"
+ "swizzle: %u \n"
+ "l2Promotion: %u \n"
+ "oobFill: %u \n",
+ (void *)&tensorMap, tensorDataType, tensorRank, globalDim[0],
+ globalDim[1], globalDim[2], globalDim[3], globalDim[4],
+ globalStrides[0], globalStrides[1], globalStrides[2],
+ globalStrides[3], globalStrides[4], boxDim[0], boxDim[1],
+ boxDim[2], boxDim[3], boxDim[4], elementStrides[0],
+ elementStrides[1], elementStrides[2], elementStrides[3],
+ elementStrides[4], interleave, swizzle, l2Promotion, oobFill);
}
extern "C" MLIR_CUDA_WRAPPERS_EXPORT void *mgpuTensorMapEncodeTiledMemref(
More information about the Mlir-commits
mailing list