diff options
| author | Yong He <yonghe@outlook.com> | 2023-03-16 22:17:34 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-03-16 22:17:34 -0700 |
| commit | fc9cba5307d166f7fda3f7e2c8b5bed7b06fef54 (patch) | |
| tree | 1a7e73b2b00cd5672c0c7318a6f4ab52cf7c5557 /tests/autodiff/cuda-kernel-export.slang | |
| parent | 2fd1ac6c85230d47c008e45fefcc1c49400e96bd (diff) | |
Add `[CudaDeviceExport]` to allow exporting CUDA device functions. (#2708)
* Add `[CudaDeviceExport]` to allow exporting CUDA device functions.
* Fix.
---------
Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'tests/autodiff/cuda-kernel-export.slang')
| -rw-r--r-- | tests/autodiff/cuda-kernel-export.slang | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/autodiff/cuda-kernel-export.slang b/tests/autodiff/cuda-kernel-export.slang new file mode 100644 index 000000000..0db4d8cea --- /dev/null +++ b/tests/autodiff/cuda-kernel-export.slang @@ -0,0 +1,29 @@ +//DISABLED_TEST:SIMPLE: -target cuda -line-directive-mode none + +// Verify that we can output a cuda device function with [CudaDeviceExport]. +// Disabled until we have FileCheck. + +struct MixedType : IDifferentiable +{ + no_diff float noDiffField; + float field; +} + +[BackwardDifferentiable] +float f1(MixedType m) +{ + return 2.0 * m.field; +} + +[BackwardDifferentiable] +float f(MixedType m) +{ + MixedType m1 = { m.noDiffField, m.field }; + return f1(m1); +} + +[CudaDeviceExport] +void diffF(inout DifferentialPair<MixedType> m, float dout) +{ + __bwd_diff(f)(m, dout); +} |
