pytorch/c10
albanD 09cbf34e93 [BE] Preserve caller source location in the error message (#162808)
Summary:
Currently the C10_CUDA_CHECK only shows source location in CUDAException like below:
```
Exception raised from c10_cuda_check_implementation at fbcode/caffe2/c10/cuda/CUDAException.cpp:44
```
which is not terribly useful.

By checking the original diff D39619861 that introduced c10_cuda_check_implementation, it seems the original macro would show the source location correctly but c10_cuda_check_implementation broke it.

This diff will propagate caller source location to c10_cuda_check_implementation to fix the issue.

Test Plan:
CI

Observed desired error message after the change:
```
CUDA error: an illegal memory access was encountered
Search for `cudaErrorIllegalAddress' in https://docs.nvidia.com/cuda/cuda-runtime-api/group__CUDART__TYPES.html for more information.
CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect.
For debugging consider passing CUDA_LAUNCH_BLOCKING=1
Device-side assertion tracking was not enabled by user.
Exception raised from operator() at fbcode/sigrid/predictor/aed/AedContainer.cpp:659 (most recent call first):
```

Note the last line reports actual caller location.

Rollback Plan:

Reviewed By: Raymo111

Differential Revision: D81880552

Pull Request resolved: https://github.com/pytorch/pytorch/pull/162808
Approved by: https://github.com/janeyx99
2025-09-15 13:29:43 +00:00
..
benchmark Set RUNPATH so installed tests can find the required shared libraries (#136627) 2024-10-25 09:38:08 +00:00
core Revert "Return NoOpDeviceGuardImpl in replace of CudaDeviceGuard when device is not available, or cpu-only build (#160532)" 2025-09-13 07:42:12 +00:00
cuda [BE] Preserve caller source location in the error message (#162808) 2025-09-15 13:29:43 +00:00
hip Use torch_compile_options for c10 libraries (#147821) 2025-03-18 01:54:23 +00:00
macros Move c10/macros/Macros.h to headeronly (#158365) 2025-07-16 18:46:52 +00:00
metal [MPS] Add igamma/igammac ops (#161927) 2025-09-02 20:52:02 +00:00
mobile [2/N] Fix extra warnings brought by clang-tidy-17 (#137459) 2024-10-08 19:05:02 +00:00
test Add -Wno-ctad-maybe-unsupported compiler flag (#162223) 2025-09-06 06:11:37 +00:00
util Redirect all use of filesystem to c10/utils/FileSystem.h (#162914) 2025-09-15 04:30:41 +00:00
xpu Add uuid to XPU device properties (#161392) 2025-09-02 06:41:32 +00:00
BUCK.oss Migrate c10/macros/cmake_macros.h.in to torch/headeronly (#158035) 2025-07-15 19:52:59 +00:00
BUILD.bazel remove //c10:headers (#98420) 2023-04-05 19:33:10 +00:00
build.bzl Remove non-header-only dep from c10_headers target (#155858) 2025-06-16 21:41:25 +00:00
CMakeLists.txt Migrate c10/macros/cmake_macros.h.in to torch/headeronly (#158035) 2025-07-15 19:52:59 +00:00
ovrsource_defs.bzl [RELAND] Always build USE_DISTRIBUTED (#160449) and Make distributed modules importable even when backend not built (#159889) (#162594) 2025-09-12 10:54:42 +00:00