<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slang.git/source/core/slang-performance-profiler.cpp, 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>2025-07-17T06:59:33+00:00</updated>
<entry>
<title>Perf improvements to IR serialization (#7751)</title>
<updated>2025-07-17T06:59:33+00:00</updated>
<author>
<name>Ellie Hermaszewska</name>
<email>ellieh@nvidia.com</email>
</author>
<published>2025-07-17T06:59:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=28758e0e427ceca196937dc90efe3ab1cb35bd70'/>
<id>urn:sha1:28758e0e427ceca196937dc90efe3ab1cb35bd70</id>
<content type='text'>
* option to use riff as serialization backend

* option to use riff as serialization backend

* perf

* shuffle code

* perf improvements to deserialization

* formatting

* remove bit_cast

* correct IR verification

* neaten serialized format

* fix peek module info

* formatting

* remove temporary profiling code

* cleanup

* fix wasm build

* more explicit sizes

* deserialize via fossil on 32 bit wasm

* Make serialized modules Int size agnostic

* reorder stable names to allow range based check for 64 bit constants

* format

* review comments

* fix build

* fix

* c++17 compat slang-common.h</content>
</entry>
<entry>
<title>format</title>
<updated>2024-10-29T06:49:26+00:00</updated>
<author>
<name>Ellie Hermaszewska</name>
<email>ellieh@nvidia.com</email>
</author>
<published>2024-10-29T06:49:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=f65d756bff8d4c5cbc15bd0322a2ae8e6b896a21'/>
<id>urn:sha1:f65d756bff8d4c5cbc15bd0322a2ae8e6b896a21</id>
<content type='text'>
* format

* Minor test fixes

* enable checking cpp format in ci</content>
</entry>
<entry>
<title>Fix build for clang-14 (#5235)</title>
<updated>2024-10-08T21:16:39+00:00</updated>
<author>
<name>James0124</name>
<email>gladiatorrules22@gmail.com</email>
</author>
<published>2024-10-08T21:16:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=132111ab0582493e09898222b275d512719a92b0'/>
<id>urn:sha1:132111ab0582493e09898222b275d512719a92b0</id>
<content type='text'>
Co-authored-by: Yong He &lt;yonghe@outlook.com&gt;</content>
</entry>
<entry>
<title>GitHub action benchmark (#4804)</title>
<updated>2024-08-13T18:44:19+00:00</updated>
<author>
<name>venkataram-nv</name>
<email>vedavamadath@nvidia.com</email>
</author>
<published>2024-08-13T18:44:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=f4ff4236e1eb80a8274b219d6e4c3813c15be9cd'/>
<id>urn:sha1:f4ff4236e1eb80a8274b219d6e4c3813c15be9cd</id>
<content type='text'>
Adds a new Github CI action for benchmarking the slangc compiler on the MDL shaders. For now, the results are only dumped to the output of the CI, which can be later viewed through raw logs. The next step is to use github-action-benchmark to push these results into a page which will show the benchmark results over time as commits are pushed.</content>
</entry>
<entry>
<title>Cleanup global memory allocations on shutdown. (#4731)</title>
<updated>2024-07-24T18:44:13+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2024-07-24T18:44:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=657213f13d49f0d2caaa8b64c1245ec8c75fc4d7'/>
<id>urn:sha1:657213f13d49f0d2caaa8b64c1245ec8c75fc4d7</id>
<content type='text'>
Co-authored-by: Jay Kwak &lt;82421531+jkwak-work@users.noreply.github.com&gt;</content>
</entry>
<entry>
<title>Use memcpy to replace strncpy_s (#4270)</title>
<updated>2024-06-05T05:30:59+00:00</updated>
<author>
<name>kaizhangNV</name>
<email>149626564+kaizhangNV@users.noreply.github.com</email>
</author>
<published>2024-06-05T05:30:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=c4a56050f3f5ee9e087554313b3bdc745e575dc5'/>
<id>urn:sha1:c4a56050f3f5ee9e087554313b3bdc745e575dc5</id>
<content type='text'>
Use memcpy to replace strncpy_s in SlangProfiler::SlangProfiler to fix
the error in Windows.</content>
</entry>
<entry>
<title>Add APIs to get profile of compile time (#4242)</title>
<updated>2024-06-05T01:24:12+00:00</updated>
<author>
<name>kaizhangNV</name>
<email>149626564+kaizhangNV@users.noreply.github.com</email>
</author>
<published>2024-06-05T01:24:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=bacf73cc68af8b7654cc920b07635f926b785b84'/>
<id>urn:sha1:bacf73cc68af8b7654cc920b07635f926b785b84</id>
<content type='text'>
* Add APIs to get profile of compile time

Add serial time measurement

Add profiler to measure lots of stages in slang compilation, and it
can accumulate the time spent in each thread in multi-threads case and
finally report a serial timing info.

* Add invocation times to the profiler

* Simplify the profiler and provide a 'clear' option

Change the profiler design to only return the thread_local
profiler to user.

We create a ISlangProfiler interface to carry the thread_local
variable PerformanceProfilerImpl profiler to user.

In addition, we provide a new option in the input parameter to
control whether or not user want to clear the previous profile
data. So spGetCompileProfile() can always returns a fresh new
profiling data.

* Change to use slang container List

Stop using std::vector, instead use slang's container List.
Generate a UUID for ISlangProfiler</content>
</entry>
<entry>
<title>Fix clang-18 build (#4222)</title>
<updated>2024-05-25T03:07:51+00:00</updated>
<author>
<name>exdal</name>
<email>63502313+exdal@users.noreply.github.com</email>
</author>
<published>2024-05-25T03:07:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=4f1cbf6f4d561320b8e3c73b871cc95dd13c6207'/>
<id>urn:sha1:4f1cbf6f4d561320b8e3c73b871cc95dd13c6207</id>
<content type='text'>
* Update slang-performance-profiler.cpp

* modified:   source/core/slang-performance-profiler.cpp

* reviews

---------

Co-authored-by: Jay Kwak &lt;82421531+jkwak-work@users.noreply.github.com&gt;</content>
</entry>
<entry>
<title>Fix race-condition and visual artifacts issues (#4152)</title>
<updated>2024-05-11T00:32:09+00:00</updated>
<author>
<name>kaizhangNV</name>
<email>149626564+kaizhangNV@users.noreply.github.com</email>
</author>
<published>2024-05-11T00:32:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=86a9da1573e1eea62fbaeddc97521f2b97ebc255'/>
<id>urn:sha1:86a9da1573e1eea62fbaeddc97521f2b97ebc255</id>
<content type='text'>
* Fix race-condition and visual artifacts issues

In PerformanceProfiler::getProfiler() we return a static object
for the profiler implementation, this is not thread-safe, so change
it to thead_local.

There is still some visual artifacts when using slang as the shading
language. We don't know the root cause yet, but found out it's related
to our loop inversion algorithm. So stage this feature for now, and turn
it into an internal option and default off. We will re-enable it after
more investigation on this optimization.

File an new issue 4151 to track it.

* Add '-loop-inversion' to the few tests</content>
</entry>
<entry>
<title>Add perf benchmark utility. (#2977)</title>
<updated>2023-07-11T16:29:27+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2023-07-11T16:29:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=d0901aa7933ac31b0bf7648a31ec5c13de864457'/>
<id>urn:sha1:d0901aa7933ac31b0bf7648a31ec5c13de864457</id>
<content type='text'>
* Add perf benchmark utility.

* Update documentation.

* Fix.

* Fix doc.

---------

Co-authored-by: Yong He &lt;yhe@nvidia.com&gt;</content>
</entry>
</feed>
