<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/offload, branch users/guy-david/dag-fp-int-fp</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] Interop fixes for Windows (#162652)</title>
<updated>2025-10-17T09:07:31+00:00</updated>
<author>
<name>Alex Duran</name>
<email>alejandro.duran@intel.com</email>
</author>
<published>2025-10-17T09:07:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=9ba54ca3eea3a050d96cc88a76e73577d190aae6'/>
<id>9ba54ca3eea3a050d96cc88a76e73577d190aae6</id>
<content type='text'>
On Windows, for a reason I don't fully understand boolean bits get extra
padding (even when asking for packed structures) in the structures that
messes the offsets between the compiler and the runtime.

Also, "weak" works differently on Windows than Linux (i.e., the "local"
routine has preference) which causes it to crash as we don't really have
an alternate implementation of __kmpc_omp_wait_deps. Given this, it
doesn't make sense to mark it as "weak" for Linux either.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
On Windows, for a reason I don't fully understand boolean bits get extra
padding (even when asking for packed structures) in the structures that
messes the offsets between the compiler and the runtime.

Also, "weak" works differently on Windows than Linux (i.e., the "local"
routine has preference) which causes it to crash as we don't really have
an alternate implementation of __kmpc_omp_wait_deps. Given this, it
doesn't make sense to mark it as "weak" for Linux either.</pre>
</div>
</content>
</entry>
<entry>
<title>[Offload] XFAIL pgo tests until resolved (#163722)</title>
<updated>2025-10-16T09:43:55+00:00</updated>
<author>
<name>Jan Patrick Lehr</name>
<email>JanPatrick.Lehr@amd.com</email>
</author>
<published>2025-10-16T09:43:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=f7e9968a5ba99521e6e51161f789f0cc1745193f'/>
<id>f7e9968a5ba99521e6e51161f789f0cc1745193f</id>
<content type='text'>
While people look into it, xfail the tests.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
While people look into it, xfail the tests.</pre>
</div>
</content>
</entry>
<entry>
<title>[OpenMP] Disable a few more tests to get the bot green (#163614)</title>
<updated>2025-10-15T19:14:15+00:00</updated>
<author>
<name>Joseph Huber</name>
<email>huberjn@outlook.com</email>
</author>
<published>2025-10-15T19:14:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=914fbe367e141a0d2958d8fd7efc482a7c113087'/>
<id>914fbe367e141a0d2958d8fd7efc482a7c113087</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[OpenMP] Add test to print interop identifiers (#161434)</title>
<updated>2025-10-15T18:38:33+00:00</updated>
<author>
<name>Jan Patrick Lehr</name>
<email>JanPatrick.Lehr@amd.com</email>
</author>
<published>2025-10-15T18:38:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=4b84e0f3f0d1e1b67782c4f619d466d1314b1e35'/>
<id>4b84e0f3f0d1e1b67782c4f619d466d1314b1e35</id>
<content type='text'>
The test covers some of the identifier symbols in the interop runtime.

This test, for now, is to guard against complete breakage, which was the
result of the other `interop.c` test not being enabled on AMD and thus,
not caught by our buildbots.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The test covers some of the identifier symbols in the interop runtime.

This test, for now, is to guard against complete breakage, which was the
result of the other `interop.c` test not being enabled on AMD and thus,
not caught by our buildbots.</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "[Offload] Lazily initialize platforms in the Offloading API" (#163272)</title>
<updated>2025-10-14T17:46:55+00:00</updated>
<author>
<name>Joseph Huber</name>
<email>huberjn@outlook.com</email>
</author>
<published>2025-10-14T17:43:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=227bc5786fbd4111c7ec2ed2874be16158c452e4'/>
<id>227bc5786fbd4111c7ec2ed2874be16158c452e4</id>
<content type='text'>
Summary:
This causes issues with CUDA's teardown order when the init is separated
from the total init scope.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Summary:
This causes issues with CUDA's teardown order when the init is separated
from the total init scope.
</pre>
</div>
</content>
</entry>
<entry>
<title>[Offload] Lazily initialize platforms in the Offloading API (#163272)</title>
<updated>2025-10-14T14:35:53+00:00</updated>
<author>
<name>Joseph Huber</name>
<email>huberjn@outlook.com</email>
</author>
<published>2025-10-14T14:35:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=4a35c4d38af4844f26d944047ca1f6aefd6a0eff'/>
<id>4a35c4d38af4844f26d944047ca1f6aefd6a0eff</id>
<content type='text'>
Summary:
The Offloading library wraps around the underlying plugins. The problem
is that we currently initialize all plugins we find, even if they are
not needed for the program. This is very expensive for trivial uses, as
fully heterogenous usage is quite rare. In practice this means that you
will always pay a 200 ms penalty for having CUDA installed.

This patch changes the behavior to provide accessors into the plugins
and devices that allows them to be initialized lazily. We use a
once_flag, this should properly take a fast-path check while still
blocking on concurrent use.

Making full use of this will require a way to filter platforms more
specifically. I'm thinking of what this would look like as an API.
I'm thinking that we either have an extra iterate function that takes a
callback on the platform, or we just provide a helper to find all the
devices that can run a given image. Maybe both?

Fixes: https://github.com/llvm/llvm-project/issues/159636</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Summary:
The Offloading library wraps around the underlying plugins. The problem
is that we currently initialize all plugins we find, even if they are
not needed for the program. This is very expensive for trivial uses, as
fully heterogenous usage is quite rare. In practice this means that you
will always pay a 200 ms penalty for having CUDA installed.

This patch changes the behavior to provide accessors into the plugins
and devices that allows them to be initialized lazily. We use a
once_flag, this should properly take a fast-path check while still
blocking on concurrent use.

Making full use of this will require a way to filter platforms more
specifically. I'm thinking of what this would look like as an API.
I'm thinking that we either have an extra iterate function that takes a
callback on the platform, or we just provide a helper to find all the
devices that can run a given image. Maybe both?

Fixes: https://github.com/llvm/llvm-project/issues/159636</pre>
</div>
</content>
</entry>
<entry>
<title>[Offload] Silence warning via maybe unused (NFC) (#163076)</title>
<updated>2025-10-12T15:28:46+00:00</updated>
<author>
<name>Jan Patrick Lehr</name>
<email>JanPatrick.Lehr@amd.com</email>
</author>
<published>2025-10-12T15:28:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=6eef045365d825a7bdbd2bb89a61fa603fdcc7ea'/>
<id>6eef045365d825a7bdbd2bb89a61fa603fdcc7ea</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[Flang][OpenMP] Defer descriptor mapping for assumed dummy argument types (#154349)</title>
<updated>2025-10-09T15:52:41+00:00</updated>
<author>
<name>agozillon</name>
<email>Andrew.Gozillon@amd.com</email>
</author>
<published>2025-10-09T15:52:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=9155b318f2cbdac1201633c31abada6380d53d7a'/>
<id>9155b318f2cbdac1201633c31abada6380d53d7a</id>
<content type='text'>
This PR adds deferral of descriptor maps until they are necessary for
assumed dummy argument types. The intent is to avoid a problem where a
user can inadvertently map a temporary local descriptor to device
without their knowledge and proceed to never unmap it. This temporary
local descriptor remains lodged in OpenMP device memory and the next
time another variable or descriptor residing in the same stack address
is mapped we incur a runtime OpenMP map error as we try to remap the
same address.

This fix was discussed with the OpenMP committee and applies to OpenMP
5.2 and below, future versions of OpenMP can avoid this issue via the
attach semantics added to the specification.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This PR adds deferral of descriptor maps until they are necessary for
assumed dummy argument types. The intent is to avoid a problem where a
user can inadvertently map a temporary local descriptor to device
without their knowledge and proceed to never unmap it. This temporary
local descriptor remains lodged in OpenMP device memory and the next
time another variable or descriptor residing in the same stack address
is mapped we incur a runtime OpenMP map error as we try to remap the
same address.

This fix was discussed with the OpenMP committee and applies to OpenMP
5.2 and below, future versions of OpenMP can avoid this issue via the
attach semantics added to the specification.</pre>
</div>
</content>
</entry>
<entry>
<title>[OFFLOAD] Remove unused init_device_info plugin interface (#162650)</title>
<updated>2025-10-09T13:38:24+00:00</updated>
<author>
<name>Alex Duran</name>
<email>alejandro.duran@intel.com</email>
</author>
<published>2025-10-09T13:38:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=45757b9284cf491072c8c477cd606df8a19061df'/>
<id>45757b9284cf491072c8c477cd606df8a19061df</id>
<content type='text'>
This was used for the old interop code. It's dead code after #143491</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This was used for the old interop code. It's dead code after #143491</pre>
</div>
</content>
</entry>
<entry>
<title>[Offload] Fix isValidBinary segfault on host platform</title>
<updated>2025-10-06T19:46:50+00:00</updated>
<author>
<name>Joseph Huber</name>
<email>huberjn@outlook.com</email>
</author>
<published>2025-10-06T19:45:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=095877c12ec6aed1fd02964e5c3b1283ff2df073'/>
<id>095877c12ec6aed1fd02964e5c3b1283ff2df073</id>
<content type='text'>
Summary:
Need to verify this actually has a device. We really need to rework this
to point to a real impolementation, or streamline it to handle this
automatically.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Summary:
Need to verify this actually has a device. We really need to rework this
to point to a real impolementation, or streamline it to handle this
automatically.
</pre>
</div>
</content>
</entry>
</feed>
