<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/offload/liboffload, branch users/nico/python-2</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] Add missing license header to Common.td (#146737)</title>
<updated>2025-07-02T16:17:30+00:00</updated>
<author>
<name>Callum Fare</name>
<email>callum@codeplay.com</email>
</author>
<published>2025-07-02T16:17:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=3c0571a749711226922f8b587fd9b1e5985dc6c4'/>
<id>3c0571a749711226922f8b587fd9b1e5985dc6c4</id>
<content type='text'>
All other tablegen files in this directory have the license header, but
`Common.td` is missing it</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
All other tablegen files in this directory have the license header, but
`Common.td` is missing it</pre>
</div>
</content>
</entry>
<entry>
<title>[Offload] Add `MAX_WORK_GROUP_SIZE` device info query (#143718)</title>
<updated>2025-07-02T15:33:54+00:00</updated>
<author>
<name>Ross Brunton</name>
<email>ross@codeplay.com</email>
</author>
<published>2025-07-02T15:33:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=7d52b0983e0bee3c1d5dbe04ae2adfd33f0265e5'/>
<id>7d52b0983e0bee3c1d5dbe04ae2adfd33f0265e5</id>
<content type='text'>
This adds a new device info query for the maximum workgroup/block size
for each dimension.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This adds a new device info query for the maximum workgroup/block size
for each dimension.</pre>
</div>
</content>
</entry>
<entry>
<title>[Offload] Improve liboffload documentation (#142403)</title>
<updated>2025-07-02T12:52:27+00:00</updated>
<author>
<name>Callum Fare</name>
<email>callum@codeplay.com</email>
</author>
<published>2025-07-02T12:52:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=acb52a8a98f0d14a6720f8f6b40e0194ccf9b426'/>
<id>acb52a8a98f0d14a6720f8f6b40e0194ccf9b426</id>
<content type='text'>
- Update the main README to reflect the current project status
- Rework the main API generation documentation. General fixes/tidying,
but also spell out explicitly how to make API changes at the top of the
document since this is what most people will care about.

---------

Co-authored-by: Martin Grant &lt;martingrant@outlook.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Update the main README to reflect the current project status
- Rework the main API generation documentation. General fixes/tidying,
but also spell out explicitly how to make API changes at the top of the
document since this is what most people will care about.

---------

Co-authored-by: Martin Grant &lt;martingrant@outlook.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>[Offload] Refactor device/platform info queries (#146345)</title>
<updated>2025-06-30T14:00:43+00:00</updated>
<author>
<name>Ross Brunton</name>
<email>ross@codeplay.com</email>
</author>
<published>2025-06-30T14:00:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=67e73ba605ea78d757c293f85e32a42257f9c6ed'/>
<id>67e73ba605ea78d757c293f85e32a42257f9c6ed</id>
<content type='text'>
This makes several small changes to how the platform and device info
queries are handled:
* ReturnHelper has been replaced with InfoWriter which is more explicit
  in how it is invoked.
* InfoWriter consumes `llvm::Expected` rather than values directly, and
  will early exit if it returns an error.
* As a result of the above, `GetInfoString` now correctly returns errors
  rather than empty strings.
* The host device now has its own dedicated "getInfo" function rather
  than being checked in multiple places.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This makes several small changes to how the platform and device info
queries are handled:
* ReturnHelper has been replaced with InfoWriter which is more explicit
  in how it is invoked.
* InfoWriter consumes `llvm::Expected` rather than values directly, and
  will early exit if it returns an error.
* As a result of the above, `GetInfoString` now correctly returns errors
  rather than empty strings.
* The host device now has its own dedicated "getInfo" function rather
  than being checked in multiple places.</pre>
</div>
</content>
</entry>
<entry>
<title>[Offload] Implement `olShutDown` (#144055)</title>
<updated>2025-06-30T11:14:00+00:00</updated>
<author>
<name>Ross Brunton</name>
<email>ross@codeplay.com</email>
</author>
<published>2025-06-30T11:14:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=003145d0c8d5417d7b7ef1eb40838bc0fb50e229'/>
<id>003145d0c8d5417d7b7ef1eb40838bc0fb50e229</id>
<content type='text'>
`olShutDown` was not properly calling deinit on the platforms, resulting
in random segfaults on AMD devices.

As part of this, `olInit` and `olShutDown` now alloc and free the
offload context rather than it being static. This
allows `olShutDown` to be called within a destructor of a static object
(like the tests do) without having to worry about destructor ordering.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`olShutDown` was not properly calling deinit on the platforms, resulting
in random segfaults on AMD devices.

As part of this, `olInit` and `olShutDown` now alloc and free the
offload context rather than it being static. This
allows `olShutDown` to be called within a destructor of a static object
(like the tests do) without having to worry about destructor ordering.</pre>
</div>
</content>
</entry>
<entry>
<title>[Offload] Store device info tree in device handle (#145913)</title>
<updated>2025-06-27T14:10:43+00:00</updated>
<author>
<name>Ross Brunton</name>
<email>ross@codeplay.com</email>
</author>
<published>2025-06-27T14:10:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=39f19f2f1fb808bf16704a40ffaf99e47a83b584'/>
<id>39f19f2f1fb808bf16704a40ffaf99e47a83b584</id>
<content type='text'>
Rather than creating a new device info tree for each call to
`olGetDeviceInfo`, we instead do it on device initialisation. As well
as improving performance, this fixes a few lifetime issues with returned
strings.

This does unfortunately mean that device information is immutable,
but hopefully that shouldn't be a problem for any queries we want to
implement.

This also meant allowing offload initialization to fail, which it can
now do.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Rather than creating a new device info tree for each call to
`olGetDeviceInfo`, we instead do it on device initialisation. As well
as improving performance, this fixes a few lifetime issues with returned
strings.

This does unfortunately mean that device information is immutable,
but hopefully that shouldn't be a problem for any queries we want to
implement.

This also meant allowing offload initialization to fail, which it can
now do.</pre>
</div>
</content>
</entry>
<entry>
<title>[Offload] Add an `unloadBinary` interface to PluginInterface (#143873)</title>
<updated>2025-06-25T13:53:18+00:00</updated>
<author>
<name>Ross Brunton</name>
<email>ross@codeplay.com</email>
</author>
<published>2025-06-25T13:53:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=0870c8838ba20edc0fb7efe60a0ee301bf01d209'/>
<id>0870c8838ba20edc0fb7efe60a0ee301bf01d209</id>
<content type='text'>
This allows removal of a specific Image from a Device, rather than
requiring all image data to outlive the device they were created for.

This is required for `ol_program_handle_t`s, which now specify the
lifetime of the buffer used to create the program.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows removal of a specific Image from a Device, rather than
requiring all image data to outlive the device they were created for.

This is required for `ol_program_handle_t`s, which now specify the
lifetime of the buffer used to create the program.</pre>
</div>
</content>
</entry>
<entry>
<title>[Offload] Properly report errors when jit compiling (#145498)</title>
<updated>2025-06-24T15:27:12+00:00</updated>
<author>
<name>Ross Brunton</name>
<email>ross@codeplay.com</email>
</author>
<published>2025-06-24T15:27:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=4359e55838cd29d4aa344f15543f725da25e940f'/>
<id>4359e55838cd29d4aa344f15543f725da25e940f</id>
<content type='text'>
Previously, if a binary failed to load due to failures when jit
compiling, the function would return success with nullptr. Now it
returns a new plugin error, `COMPILE_FAILURE`.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, if a binary failed to load due to failures when jit
compiling, the function would return success with nullptr. Now it
returns a new plugin error, `COMPILE_FAILURE`.</pre>
</div>
</content>
</entry>
<entry>
<title>[Offload] Add type information to device info nodes (#144535)</title>
<updated>2025-06-20T14:05:05+00:00</updated>
<author>
<name>Ross Brunton</name>
<email>ross@codeplay.com</email>
</author>
<published>2025-06-20T14:05:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=f242360e156b407902829d694c036b2d22211894'/>
<id>f242360e156b407902829d694c036b2d22211894</id>
<content type='text'>
Rather than being "stringly typed", store values as a std::variant that
can hold various types. This means that liboffload doesn't have to do
any string parsing for integer/bool device info keys.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Rather than being "stringly typed", store values as a std::variant that
can hold various types. This means that liboffload doesn't have to do
any string parsing for integer/bool device info keys.</pre>
</div>
</content>
</entry>
<entry>
<title>[Offload] Check for initialization (#144370)</title>
<updated>2025-06-20T14:04:50+00:00</updated>
<author>
<name>Ross Brunton</name>
<email>ross@codeplay.com</email>
</author>
<published>2025-06-20T14:04:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=e0633d59b9d0f931d3917e51a51b5aa7d7e775ac'/>
<id>e0633d59b9d0f931d3917e51a51b5aa7d7e775ac</id>
<content type='text'>
All entry points (except olInit) now check that offload has been
initialized. If not, a new `OL_ERRC_UNINITIALIZED` error is returned.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
All entry points (except olInit) now check that offload has been
initialized. If not, a new `OL_ERRC_UNINITIALIZED` error is returned.</pre>
</div>
</content>
</entry>
</feed>
