<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/offload/liboffload/src/OffloadImpl.cpp, branch users/joker-eph-python-bindings-maintainers</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] Store globals in the program's global list rather than the kernel list (#153441)</title>
<updated>2025-08-13T16:18:25+00:00</updated>
<author>
<name>Ross Brunton</name>
<email>ross@codeplay.com</email>
</author>
<published>2025-08-13T16:18:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=3e9f29cfee756b7acd735d8871314ffe04fdc8d7'/>
<id>3e9f29cfee756b7acd735d8871314ffe04fdc8d7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[Offload] Make olLaunchKernel test thread safe (#149497)</title>
<updated>2025-08-08T09:57:04+00:00</updated>
<author>
<name>Ross Brunton</name>
<email>ross@codeplay.com</email>
</author>
<published>2025-08-08T09:57:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=910d7e90bfc6aef5f974f0cf4b3fc034a2f4849a'/>
<id>910d7e90bfc6aef5f974f0cf4b3fc034a2f4849a</id>
<content type='text'>
This sprinkles a few mutexes around the plugin interface so that the
olLaunchKernel CTS test now passes when ran on multiple threads.

Part of this also involved changing the interface for device synchronise
so that it can optionally not free the underlying queue (which
introduced a race condition in liboffload).</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This sprinkles a few mutexes around the plugin interface so that the
olLaunchKernel CTS test now passes when ran on multiple threads.

Part of this also involved changing the interface for device synchronise
so that it can optionally not free the underlying queue (which
introduced a race condition in liboffload).</pre>
</div>
</content>
</entry>
<entry>
<title>[Offload] OL_QUEUE_INFO_EMPTY (#152473)</title>
<updated>2025-08-08T09:20:45+00:00</updated>
<author>
<name>Ross Brunton</name>
<email>ross@codeplay.com</email>
</author>
<published>2025-08-08T09:20:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=197d1c1570160afbf3c5e03d81d42d124b4e5b44'/>
<id>197d1c1570160afbf3c5e03d81d42d124b4e5b44</id>
<content type='text'>
Add a queue query that (if possible) reports whether the queue is empty</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add a queue query that (if possible) reports whether the queue is empty</pre>
</div>
</content>
</entry>
<entry>
<title>[Offload] Don't create events for empty queues (#152304)</title>
<updated>2025-08-07T09:16:33+00:00</updated>
<author>
<name>Ross Brunton</name>
<email>ross@codeplay.com</email>
</author>
<published>2025-08-07T09:16:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=a44532544bd96c68ce2bc885d0cc0c4c9116f8b1'/>
<id>a44532544bd96c68ce2bc885d0cc0c4c9116f8b1</id>
<content type='text'>
Add a device function to check if a device queue is empty. If liboffload
tries to create an event for an empty queue, we create an "empty" event
that is already complete.

This allows `olCreateEvent`, `olSyncEvent` and `olWaitEvent` to run
quickly for empty queues.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add a device function to check if a device queue is empty. If liboffload
tries to create an event for an empty queue, we create an "empty" event
that is already complete.

This allows `olCreateEvent`, `olSyncEvent` and `olWaitEvent` to run
quickly for empty queues.</pre>
</div>
</content>
</entry>
<entry>
<title>[Offload] Rework `MAX_WORK_GROUP_SIZE` (#151926)</title>
<updated>2025-08-04T14:21:24+00:00</updated>
<author>
<name>Ross Brunton</name>
<email>ross@codeplay.com</email>
</author>
<published>2025-08-04T14:21:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d03692a00ee2404aa5c98a5f6c447f66d77a4663'/>
<id>d03692a00ee2404aa5c98a5f6c447f66d77a4663</id>
<content type='text'>
`MAX_WORK_GROUP_SIZE` now represents the maximum total number of work
groups the device can allocate, rather than the maximum per dimension.
`MAX_WORK_GROUP_SIZE_PER_DIMENSION` has been added, which has the old
behaviour.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`MAX_WORK_GROUP_SIZE` now represents the maximum total number of work
groups the device can allocate, rather than the maximum per dimension.
`MAX_WORK_GROUP_SIZE_PER_DIMENSION` has been added, which has the old
behaviour.</pre>
</div>
</content>
</entry>
<entry>
<title>[Offload] Refactor device information queries to use new tagging (#147318)</title>
<updated>2025-07-25T13:51:51+00:00</updated>
<author>
<name>Ross Brunton</name>
<email>ross@codeplay.com</email>
</author>
<published>2025-07-25T13:51:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=adb2421202e4014b4986a9f1eb40833dc7ec25ad'/>
<id>adb2421202e4014b4986a9f1eb40833dc7ec25ad</id>
<content type='text'>
Instead using strings to look up device information (which is brittle
and slow), use the new tags that the plugins specify when building the
nodes.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead using strings to look up device information (which is brittle
and slow), use the new tags that the plugins specify when building the
nodes.</pre>
</div>
</content>
</entry>
<entry>
<title>[Offload] Replace "EventOut" parameters with `olCreateEvent` (#150217)</title>
<updated>2025-07-24T13:31:06+00:00</updated>
<author>
<name>Ross Brunton</name>
<email>ross@codeplay.com</email>
</author>
<published>2025-07-24T13:31:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=690c3ee5be51bf0b6598b1a202ceb7dec6acebbd'/>
<id>690c3ee5be51bf0b6598b1a202ceb7dec6acebbd</id>
<content type='text'>
Rather than having every "enqueue"-type function have an output pointer
specifically for an output event, just provide an `olCreateEvent`
entrypoint which pushes an event to the queue.

For example, replace:
```cpp
olMemcpy(Queue, ..., EventOut);
```
with
```cpp
olMemcpy(Queue, ...);
olCreateEvent(Queue, EventOut);
```</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Rather than having every "enqueue"-type function have an output pointer
specifically for an output event, just provide an `olCreateEvent`
entrypoint which pushes an event to the queue.

For example, replace:
```cpp
olMemcpy(Queue, ..., EventOut);
```
with
```cpp
olMemcpy(Queue, ...);
olCreateEvent(Queue, EventOut);
```</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] Rename olWaitEvent/Queue to olSyncEvent/Queue (#150023)</title>
<updated>2025-07-23T09:52:13+00:00</updated>
<author>
<name>Ross Brunton</name>
<email>ross@codeplay.com</email>
</author>
<published>2025-07-23T09:52:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=2726b7fb1c0768bf404a712e5940b64db9fed5e1'/>
<id>2726b7fb1c0768bf404a712e5940b64db9fed5e1</id>
<content type='text'>
This more closely matches the nomenclature used by CUDA, AMDGPU and
the plugin interface.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This more closely matches the nomenclature used by CUDA, AMDGPU and
the plugin interface.</pre>
</div>
</content>
</entry>
<entry>
<title>[Offload] Cache symbols in program (#148209)</title>
<updated>2025-07-16T17:32:47+00:00</updated>
<author>
<name>Ross Brunton</name>
<email>ross@codeplay.com</email>
</author>
<published>2025-07-16T17:32:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=55b417a75fb4cbd13066510cba13d1c214095eab'/>
<id>55b417a75fb4cbd13066510cba13d1c214095eab</id>
<content type='text'>
When creating a new symbol, check that it already exists. If it does,
return that pointer rather than building a new symbol structure.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When creating a new symbol, check that it already exists. If it does,
return that pointer rather than building a new symbol structure.</pre>
</div>
</content>
</entry>
</feed>
