<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/offload/unittests/OffloadAPI/device_code, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/'/>
<entry>
<title>[Offload] Remove check on kernel argument sizes (#162121)</title>
<updated>2025-10-06T17:49:44+00:00</updated>
<author>
<name>Joseph Huber</name>
<email>huberjn@outlook.com</email>
</author>
<published>2025-10-06T17:49:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=8763812b4c60a702094d03c45d3a9db4478ca331'/>
<id>8763812b4c60a702094d03c45d3a9db4478ca331</id>
<content type='text'>
Summary:
This check is unnecessarily restrictive and currently incorrectly fires
for any size less than eight bytes. Just remove it, we do sanity checks
elsewhere and at some point need to trust the ABI.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Summary:
This check is unnecessarily restrictive and currently incorrectly fires
for any size less than eight bytes. Just remove it, we do sanity checks
elsewhere and at some point need to trust the ABI.</pre>
</div>
</content>
</entry>
<entry>
<title>[Offload][UnitTests] Build device code as C++ (#151714)</title>
<updated>2025-08-04T12:00:51+00:00</updated>
<author>
<name>Leandro Lacerda</name>
<email>leandrolcampos@yahoo.com.br</email>
</author>
<published>2025-08-04T12:00:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=f1eb869bae2ab86726ee3a5a5c7980d5b2acbd5d'/>
<id>f1eb869bae2ab86726ee3a5a5c7980d5b2acbd5d</id>
<content type='text'>
This commit refactors the `add_offload_test_device_code` CMake function
to compile device code using the C++ compiler (`CMAKE_CXX_COMPILER`)
instead of the C compiler.

This change enables the use of C++ features, such as templates, within
device-side test kernels. This will allow for more advanced and reusable
kernel wrappers, reducing boilerplate code in the conformance test
suite.

As part of this change:
- All `.c` files for device code in `unittests/` have been renamed to
`.cpp`.
- Kernel definitions are now wrapped in `extern "C"` to ensure C linkage
and prevent name mangling.

This change affects the `OffloadAPI` and `Conformance` test suites.

cc @callumfare @RossBrunton @jhuber6</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit refactors the `add_offload_test_device_code` CMake function
to compile device code using the C++ compiler (`CMAKE_CXX_COMPILER`)
instead of the C compiler.

This change enables the use of C++ features, such as templates, within
device-side test kernels. This will allow for more advanced and reusable
kernel wrappers, reducing boilerplate code in the conformance test
suite.

As part of this change:
- All `.c` files for device code in `unittests/` have been renamed to
`.cpp`.
- Kernel definitions are now wrapped in `extern "C"` to ensure C linkage
and prevent name mangling.

This change affects the `OffloadAPI` and `Conformance` test suites.

cc @callumfare @RossBrunton @jhuber6</pre>
</div>
</content>
</entry>
<entry>
<title>[Offload] Add olWaitEvents (#150036)</title>
<updated>2025-07-23T13:12:16+00:00</updated>
<author>
<name>Ross Brunton</name>
<email>ross@codeplay.com</email>
</author>
<published>2025-07-23T13:12:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=081b74caf5fbfe04abc372c453cb1d6fc8f781a7'/>
<id>081b74caf5fbfe04abc372c453cb1d6fc8f781a7</id>
<content type='text'>
This function causes a queue to wait until all the provided events have
completed before running any future scheduled work.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This function causes a queue to wait until all the provided events have
completed before running any future scheduled work.</pre>
</div>
</content>
</entry>
<entry>
<title>[Offload] Replace `GetKernel` with `GetSymbol` with global support (#148221)</title>
<updated>2025-07-11T13:48:10+00:00</updated>
<author>
<name>Ross Brunton</name>
<email>ross@codeplay.com</email>
</author>
<published>2025-07-11T13:48:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=eee723f928c534dbf55e81539341c0bb0681544b'/>
<id>eee723f928c534dbf55e81539341c0bb0681544b</id>
<content type='text'>
`olGetKernel` has been replaced by `olGetSymbol` which accepts a
`Kind` parameter. As well as loading information about kernels, it
can now also load information about global variables.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`olGetKernel` has been replaced by `olGetSymbol` which accepts a
`Kind` parameter. As well as loading information about kernels, it
can now also load information about global variables.</pre>
</div>
</content>
</entry>
<entry>
<title>[Offload] Tests for global memory and constructors (#147537)</title>
<updated>2025-07-09T13:26:50+00:00</updated>
<author>
<name>Ross Brunton</name>
<email>ross@codeplay.com</email>
</author>
<published>2025-07-09T13:26:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=bed9fe77dc690cf0147a0819350f275e65947cbe'/>
<id>bed9fe77dc690cf0147a0819350f275e65947cbe</id>
<content type='text'>
Adds two "launch kernel" tests for lib offload, one testing that
global memory works and persists between different kernels, and one
verifying that `[[gnu::constructor]]` works correctly.

Since we now have tests that contain multiple kernels in the same
binary, the test framework has been updated a bit.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adds two "launch kernel" tests for lib offload, one testing that
global memory works and persists between different kernels, and one
verifying that `[[gnu::constructor]]` works correctly.

Since we now have tests that contain multiple kernels in the same
binary, the test framework has been updated a bit.</pre>
</div>
</content>
</entry>
<entry>
<title>[Offload] Add liboffload unit tests for shared/local memory (#147040)</title>
<updated>2025-07-07T15:20:02+00:00</updated>
<author>
<name>Ross Brunton</name>
<email>ross@codeplay.com</email>
</author>
<published>2025-07-07T15:20:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=8ae8d31832723f936aac859cfa434f45305f6ee5'/>
<id>8ae8d31832723f936aac859cfa434f45305f6ee5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[Offload] Rework compiling device code for unit test suites (#144776)</title>
<updated>2025-06-20T15:31:54+00:00</updated>
<author>
<name>Joseph Huber</name>
<email>huberjn@outlook.com</email>
</author>
<published>2025-06-20T15:31:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=3f1de197b1c339b311329c02bb739860b32c073f'/>
<id>3f1de197b1c339b311329c02bb739860b32c073f</id>
<content type='text'>
Summary:
I'll probably want to use this as a more generic utility in the future.
This patch reworks it to make it a top level function. I also tried to
decouple this from the OpenMP utilities to make that easier in the
future. Instead, I just use `-march=native` functionality which is the
same thing. Needed a small hack to skip the linker stage for checking if
that works.

This should still create the same output as far as I'm aware.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Summary:
I'll probably want to use this as a more generic utility in the future.
This patch reworks it to make it a top level function. I also tried to
decouple this from the OpenMP utilities to make that easier in the
future. Instead, I just use `-march=native` functionality which is the
same thing. Needed a small hack to skip the linker stage for checking if
that works.

This should still create the same output as far as I'm aware.</pre>
</div>
</content>
</entry>
<entry>
<title>[Offload] Allow setting null arguments in olLaunchKernel (#141958)</title>
<updated>2025-06-06T12:05:11+00:00</updated>
<author>
<name>Ross Brunton</name>
<email>ross@codeplay.com</email>
</author>
<published>2025-06-06T12:05:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=269c29ae67e54bd3243535a7c58d0f30d1eb9036'/>
<id>269c29ae67e54bd3243535a7c58d0f30d1eb9036</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[Offload] Set size correctly in olLaunchKernel cts test (#142398)</title>
<updated>2025-06-02T14:27:09+00:00</updated>
<author>
<name>Ross Brunton</name>
<email>ross@codeplay.com</email>
</author>
<published>2025-06-02T14:27:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=41e22aa31b1905aa3e9d83c0343a96ec0d5187ec'/>
<id>41e22aa31b1905aa3e9d83c0343a96ec0d5187ec</id>
<content type='text'>
It was previously not scaled by `sizeof(uint32_t)`.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It was previously not scaled by `sizeof(uint32_t)`.</pre>
</div>
</content>
</entry>
<entry>
<title>[Offload] Add check-offload-unit for liboffload unittests (#137312)</title>
<updated>2025-04-29T16:21:59+00:00</updated>
<author>
<name>Callum Fare</name>
<email>callum@codeplay.com</email>
</author>
<published>2025-04-29T16:21:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=6022a5214b597561d23c26a839a210f41c246c47'/>
<id>6022a5214b597561d23c26a839a210f41c246c47</id>
<content type='text'>
Adds a `check-offload-unit` target for running the liboffload unit test
suite. This unit test binary runs the tests for every available device.
This can optionally filtered to devices from a single platform, but the
check target runs on everything.

The target is not part of `check-offload` and does not get propagated to
the top level build. I'm not sure if either of these things are
desirable, but I'm happy to look into it if we want.

Also remove the `offload/unittests/Plugins` test as it's dead code and
doesn't build.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adds a `check-offload-unit` target for running the liboffload unit test
suite. This unit test binary runs the tests for every available device.
This can optionally filtered to devices from a single platform, but the
check target runs on everything.

The target is not part of `check-offload` and does not get propagated to
the top level build. I'm not sure if either of these things are
desirable, but I'm happy to look into it if we want.

Also remove the `offload/unittests/Plugins` test as it's dead code and
doesn't build.</pre>
</div>
</content>
</entry>
</feed>
