[libc-commits] [libc] [libc] Add Kernel Resource Usage to nvptx-loader (PR #97503)

via libc-commits libc-commits at lists.llvm.org
Sun Jul 14 18:29:17 PDT 2024


================
@@ -229,6 +229,43 @@ CUresult launch_kernel(CUmodule binary, CUstream stream,
   return CUDA_SUCCESS;
 }
 
+void print_kernel_resources(CUmodule binary, const char *kernel_name) {
+  CUfunction function;
+  if (CUresult err = cuModuleGetFunction(&function, binary, kernel_name))
+    handle_error(err);
+  int num_regs;
+  if (CUresult err =
+          cuFuncGetAttribute(&num_regs, CU_FUNC_ATTRIBUTE_NUM_REGS, function))
+    handle_error(err);
+  printf("%6s registers: %d\n", kernel_name, num_regs);
+}
+
+void print_resources(void *image) {
----------------
jameshu15869 wrote:

Similar to that, do we want benchmarks to always print resource usage? Or should we expect users to manually call `nvptx-loader` to see the kernel register usage?

https://github.com/llvm/llvm-project/pull/97503


More information about the libc-commits mailing list