summaryrefslogtreecommitdiffstats
path: root/source/slang/diff.meta.slang
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2023-03-28 11:12:40 -0700
committerGitHub <noreply@github.com>2023-03-28 11:12:40 -0700
commite22b4dbb1bed1393fc028b87b8ff6ff30e1b73f3 (patch)
tree5fa276d207921d07eb56cc3a990477777fa33898 /source/slang/diff.meta.slang
parent0a6926003fd2300858e3089fe82f421543852395 (diff)
Small fixes and cleanups on CUDA/CPP codegen. (#2746)
* Small fixes and cleanups on CUDA/CPP codegen. * Disable `legalizeEmptyTypes` for now. --------- Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'source/slang/diff.meta.slang')
-rw-r--r--source/slang/diff.meta.slang13
1 files changed, 13 insertions, 0 deletions
diff --git a/source/slang/diff.meta.slang b/source/slang/diff.meta.slang
index d5b70bbb3..d5dc7842a 100644
--- a/source/slang/diff.meta.slang
+++ b/source/slang/diff.meta.slang
@@ -31,6 +31,7 @@ __intrinsic_type($(kIROp_TensorViewType))
struct TensorView
{
__target_intrinsic(cuda, "$0.data_ptr<$G0>()")
+ [__readNone]
Ptr<T> data_ptr();
__implicit_conversion($(kConversionCost_ImplicitDereference))
@@ -38,14 +39,19 @@ struct TensorView
__init(TorchTensor<T> t);
__target_intrinsic(cuda, "$0.load<$G0>($1)")
+ [__readNone]
T load(uint x);
__target_intrinsic(cuda, "$0.load<$G0>($1, $2)")
+ [__readNone]
T load(uint x, uint y);
__target_intrinsic(cuda, "$0.load<$G0>($1, $2, $3)")
+ [__readNone]
T load(uint x, uint y, uint z);
__target_intrinsic(cuda, "$0.load<$G0>($1, $2, $3, $4)")
+ [__readNone]
T load(uint x, uint y, uint z, uint w);
__target_intrinsic(cuda, "$0.load<$G0>($1, $2, $3, $4, $5)")
+ [__readNone]
T load(uint i0, uint i1, uint i2, uint i3, uint i4);
__target_intrinsic(cuda, "$0.store<$G0>($1, $2)")
@@ -60,12 +66,15 @@ struct TensorView
void store(uint i0, uint i1, uint i2, uint i3, uint i4, T val);
__target_intrinsic(cuda, "$0.dimensionCount")
+ [__readNone]
uint dims();
__target_intrinsic(cuda, "$0.sizes[$1]")
+ [__readNone]
uint size(uint i);
__target_intrinsic(cuda, "$0.strides[$1]")
+ [__readNone]
uint stride(uint i);
}
@@ -78,18 +87,22 @@ struct TorchTensor
__target_intrinsic(cuda, "$0.dims()")
__target_intrinsic(cpp, "$0.dims()")
+ [__readNone]
uint dims();
__target_intrinsic(cuda, "$0.size($1)")
__target_intrinsic(cpp, "$0.size($1)")
+ [__readNone]
uint size(uint i);
__target_intrinsic(cuda, "$0.stride($1)")
__target_intrinsic(cpp, "$0.stride($1)")
+ [__readNone]
uint stride(uint i);
__target_intrinsic(cuda, "$0.data_ptr<$G0>()")
__target_intrinsic(cpp, "$0.data_ptr<$G0>()")
+ [__readNone]
Ptr<T> data_ptr();
__intrinsic_op($(kIROp_AllocateTorchTensor))