<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slang.git/tools/render-test/cuda/cuda-compute-util.h, branch master</title>
<subtitle>Making it easier to work with shaders</subtitle>
<id>https://git.yummers.dev/slang.git/atom?h=master</id>
<link rel='self' href='https://git.yummers.dev/slang.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/'/>
<updated>2021-03-17T19:55:30+00:00</updated>
<entry>
<title>Remove old code paths from render-test (#1760)</title>
<updated>2021-03-17T19:55:30+00:00</updated>
<author>
<name>Tim Foley</name>
<email>tfoleyNV@users.noreply.github.com</email>
</author>
<published>2021-03-17T19:55:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=6e5d85efb9fa5f647f7f0c7ef784a9fd09b29023'/>
<id>urn:sha1:6e5d85efb9fa5f647f7f0c7ef784a9fd09b29023</id>
<content type='text'>
* Remove old code paths from render-test

Historically, the `render-test` tool was using three different code paths:

* One based on `gfx` and manual (non-reflection-based) parameter setting, used for OpenGL, D3D11, D3D12, and Vulkan
* One for CPU that used reflection-based parameter setting but shared no code with the first
* One for CUDA that used reflection-based parameter setting and shared some, but not all, code with the CPU path

Recently we've updated `render-test` to include a fourth option:

* Using `gfx` and the "shader object" system it exposes for a unified reflection-based parameter-setting system taht works across OpenGL, D3D11, D3D12, Vulkan, CUDA, and CPU

This change removes the first three options and leaves only the single unified path. A sa result, a bunch of code in `render-test` is no longer needed, and the codebase no longer relies on things like the `IDescriptorSet`-related APIs in `gfx`.

Several existing tests had to be disabled to make this change possible. Those tests will need to be audited and either re-enabled once we fix issues in the shader object system, or permanently removed if they don't test stuff we intend to support in the long run (e.g., global-scope type parameters, which aren't a clear necessity).

* fixup: CUDA detection logic</content>
</entry>
<entry>
<title>Enable `gfx::CUDADevice` on linux. (#1756)</title>
<updated>2021-03-15T19:59:58+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2021-03-15T19:59:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=10b39e0cb545f98f1a417da8e8e52258134a3e87'/>
<id>urn:sha1:10b39e0cb545f98f1a417da8e8e52258134a3e87</id>
<content type='text'>
</content>
</entry>
<entry>
<title>COM-ify all slang-gfx interfaces. (#1656)</title>
<updated>2021-01-14T23:48:54+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2021-01-14T23:48:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=f834f25794cfb746079e92d58c7410b767c57208'/>
<id>urn:sha1:f834f25794cfb746079e92d58c7410b767c57208</id>
<content type='text'>
* COM-ify all slang-gfx interfaces.</content>
</entry>
<entry>
<title>Support CUDA bindless texture in dynamic dispatch code. (#1575)</title>
<updated>2020-10-09T18:29:11+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2020-10-09T18:29:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=fab1c9f4c745ba84983c2448646376799d461e96'/>
<id>urn:sha1:fab1c9f4c745ba84983c2448646376799d461e96</id>
<content type='text'>
</content>
</entry>
<entry>
<title>CUDA version handling (#1301)</title>
<updated>2020-03-30T23:23:09+00:00</updated>
<author>
<name>jsmall-nvidia</name>
<email>jsmall@nvidia.com</email>
</author>
<published>2020-03-30T23:23:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=ea7690558bca71ce3a9453adff4e0135352a352f'/>
<id>urn:sha1:ea7690558bca71ce3a9453adff4e0135352a352f</id>
<content type='text'>
* render feature for CUDA compute model.

* Use SemanticVersion type.

* Enable CUDA wave tests that require CUDA SM 7.0.
Provide mechanism for DownstreamCompiler to specify version numbers.

* Enabled wave-equality.slang

* Make CUDA SM version major version not just a single digit.

* Fix assert.

* DownstreamCompiler::Version -&gt; CapabilityVersion</content>
</entry>
<entry>
<title>WIP on RWTexture types on CUDA/CPU (#1234)</title>
<updated>2020-02-20T23:24:00+00:00</updated>
<author>
<name>jsmall-nvidia</name>
<email>jsmall@nvidia.com</email>
</author>
<published>2020-02-20T23:24:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=1f401d04e32c6feaeb35243ea5bfc2b14520344b'/>
<id>urn:sha1:1f401d04e32c6feaeb35243ea5bfc2b14520344b</id>
<content type='text'>
* CUDA support for array of resources.

* * Add support for Texture2DArray on CPU
* Expand texture-simple.slang to test Texture2DArray

* Reorganise CUDAComputeUtil to split out createTextureResource.

* Add TextureCubeArray support for CPU/CUDA targets.

* Pulled out CUDAResource
Renamed derived classes to reflect that change.

* Creation of SurfObject type.

* Functions to return read/write access for simplifying future additions.

* WIP for RWTexture access on CPU/CUDA.

* CUsurfObject cannot have mips.

* Ability to set number of mips on test data.
Preliminary support for CUsurfObj and RWTexture1D on CUDA.
CUDA docs improvements.

* Fix typo.
</content>
</entry>
<entry>
<title>CUDA/CPU support for 1D, 2D, CubeArray (#1232)</title>
<updated>2020-02-20T15:34:58+00:00</updated>
<author>
<name>jsmall-nvidia</name>
<email>jsmall@nvidia.com</email>
</author>
<published>2020-02-20T15:34:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=dcc3af7bf4fdfb6926db039506137be0e16ae3bd'/>
<id>urn:sha1:dcc3af7bf4fdfb6926db039506137be0e16ae3bd</id>
<content type='text'>
* CUDA support for array of resources.

* * Add support for Texture2DArray on CPU
* Expand texture-simple.slang to test Texture2DArray

* Reorganise CUDAComputeUtil to split out createTextureResource.

* Add TextureCubeArray support for CPU/CUDA targets.
</content>
</entry>
<entry>
<title>Feature/cuda coverage (#1223)</title>
<updated>2020-02-14T20:06:35+00:00</updated>
<author>
<name>jsmall-nvidia</name>
<email>jsmall@nvidia.com</email>
</author>
<published>2020-02-14T20:06:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=2c097545eaa324a91a035327abad2e8b4fa60469'/>
<id>urn:sha1:2c097545eaa324a91a035327abad2e8b4fa60469</id>
<content type='text'>
* Add cubemap support.

* Add CUDA fence instrinsics.

* Added Gather for CUDA.

* Use the CUDA driver API as much as possible.

* * Support 1D texture on CPU
* WIP on 1D texture on CUDA
* Added simplified texture test

* Fix test.

* Improve texture-simple tests.

Co-authored-by: Tim Foley &lt;tfoleyNV@users.noreply.github.com&gt;
</content>
</entry>
<entry>
<title>Fixes to make all CPU compute shaders work on CUDA (#1211)</title>
<updated>2020-02-08T16:19:31+00:00</updated>
<author>
<name>jsmall-nvidia</name>
<email>jsmall@nvidia.com</email>
</author>
<published>2020-02-08T16:19:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=0eed0125fa5e5f425d546efdc2b284b09ffc2785'/>
<id>urn:sha1:0eed0125fa5e5f425d546efdc2b284b09ffc2785</id>
<content type='text'>
* Launch CUDA test taking into account dispatch size.

* Enable isCPUOnly hack to work on CUDA.

* Rename 'isCPUOnly' hack to 'onlyCPULikeBinding'.

* Add $T special type.
Support SampleLevel on CUDA.

* Fix typo.
</content>
</entry>
<entry>
<title>Synthesizing CUDA tests (#1183)</title>
<updated>2020-01-28T17:41:09+00:00</updated>
<author>
<name>jsmall-nvidia</name>
<email>jsmall@nvidia.com</email>
</author>
<published>2020-01-28T17:41:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=b3e0b0d491c55bfdc1c40d26a421910103c1b9f2'/>
<id>urn:sha1:b3e0b0d491c55bfdc1c40d26a421910103c1b9f2</id>
<content type='text'>
* When using setUniform clamp the amount of data written to the buffer size.

* CUDA implement StructuredBuffer/ByteAddressBuffer as pointer/count as is on CPU.
Allow bounds check to zero index.
Update docs.

* Synthesize tests.

* Fix bug in CUDA output.

* Fixing more tests to run on CUDA.

* Added BaseType for layout of Vector and Matrix - as they are held as int32_t vector array types.

* Enable unbound array support on CUDA.

* Added unsized array support for CUDA documentation.
</content>
</entry>
</feed>
