<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/libc/src/stdio/gpu/vfprintf_utils.h, 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>[libc][GPU] clean up includes (#143203)</title>
<updated>2025-06-06T21:12:07+00:00</updated>
<author>
<name>Michael Jones</name>
<email>michaelrj@google.com</email>
</author>
<published>2025-06-06T21:12:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=3695d6cdf98c252af4a747af8e247b48e046721a'/>
<id>3695d6cdf98c252af4a747af8e247b48e046721a</id>
<content type='text'>
The GPU stdio functions were depending on indirect inclusion for some of
their dependencies. This patch should fix all of that.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The GPU stdio functions were depending on indirect inclusion for some of
their dependencies. This patch should fix all of that.</pre>
</div>
</content>
</entry>
<entry>
<title>[libc][NFC] Rename RPC opcodes to better reflect their usage</title>
<updated>2024-12-02T21:35:08+00:00</updated>
<author>
<name>Joseph Huber</name>
<email>huberjn@outlook.com</email>
</author>
<published>2024-12-02T21:34:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=a6ef0debb1d60966b5bcc69f7d58a2b75c9c621d'/>
<id>a6ef0debb1d60966b5bcc69f7d58a2b75c9c621d</id>
<content type='text'>
Summary:
RPC_ is a generic prefix here, use LIBC_ to indicate that these are
opcodes used to implement the C library
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Summary:
RPC_ is a generic prefix here, use LIBC_ to indicate that these are
opcodes used to implement the C library
</pre>
</div>
</content>
</entry>
<entry>
<title>[libc] Increase RPC opcode to 32-bit and use a class byte (#116905)</title>
<updated>2024-11-20T03:56:10+00:00</updated>
<author>
<name>Joseph Huber</name>
<email>huberjn@outlook.com</email>
</author>
<published>2024-11-20T03:56:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=27d25d1c12a34d0cfd47416e77cd83b7b768f1e7'/>
<id>27d25d1c12a34d0cfd47416e77cd83b7b768f1e7</id>
<content type='text'>
Summary:
Currently, the RPC interface uses a basic opcode to communicate with the
server. This currently is 16 bits. There's no reason for this to be 16
bits, because on the GPU a 32-bit write is the same as a 16-bit write
performance wise.

Additionally, I am now making all the `libc` based opcodes qualified
with the 'c' type, mimiciing how Linux handles `ioctls` all coming from
the same driver. This will make it easier to extend the interface when
it's exported directly.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Summary:
Currently, the RPC interface uses a basic opcode to communicate with the
server. This currently is 16 bits. There's no reason for this to be 16
bits, because on the GPU a 32-bit write is the same as a 16-bit write
performance wise.

Additionally, I am now making all the `libc` based opcodes qualified
with the 'c' type, mimiciing how Linux handles `ioctls` all coming from
the same driver. This will make it easier to extend the interface when
it's exported directly.</pre>
</div>
</content>
</entry>
<entry>
<title>[libc] Replace usage of GPU helpers with ones from 'gpuintrin.h' (#116454)</title>
<updated>2024-11-19T17:40:02+00:00</updated>
<author>
<name>Joseph Huber</name>
<email>huberjn@outlook.com</email>
</author>
<published>2024-11-19T17:40:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=197e0125c3ed991f11d97d27e529c02af06e9f37'/>
<id>197e0125c3ed991f11d97d27e529c02af06e9f37</id>
<content type='text'>
Summary:
These are provided by a resource header now, cut these from the
dependencies and only provide the ones we use for RPC.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Summary:
These are provided by a resource header now, cut these from the
dependencies and only provide the ones we use for RPC.</pre>
</div>
</content>
</entry>
<entry>
<title>[libc] Fix leftover `LIBC_NAMESPACE` after porting it (#113960)</title>
<updated>2024-10-28T20:47:31+00:00</updated>
<author>
<name>Joseph Huber</name>
<email>huberjn@outlook.com</email>
</author>
<published>2024-10-28T20:47:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=03dcefe08ecb68a3fedb7e9de6277df77371e9fc'/>
<id>03dcefe08ecb68a3fedb7e9de6277df77371e9fc</id>
<content type='text'>
Summary:
There are a few of these leftover, they should all use the
`LIBC_NAMESPACE_DECL` version because that implies visibility.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Summary:
There are a few of these leftover, they should all use the
`LIBC_NAMESPACE_DECL` version because that implies visibility.</pre>
</div>
</content>
</entry>
<entry>
<title>[libc] Remove dependency on `cpp::function` in `rpc.h` (#112422)</title>
<updated>2024-10-15T19:31:06+00:00</updated>
<author>
<name>Joseph Huber</name>
<email>huberjn@outlook.com</email>
</author>
<published>2024-10-15T19:31:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=be0c67c90e045b03b0ffecc06ca6f93e440f48d8'/>
<id>be0c67c90e045b03b0ffecc06ca6f93e440f48d8</id>
<content type='text'>
Summary:
I'm going to attempt to move the `rpc.h` header to a separate folder
that we can install and include outside of `libc`. Before doing this I'm
going to try to trim up the file so there's not as many things I need to
copy to make it work. This dependency on `cpp::functional` is a low
hanging fruit. I only did it so that I could overload the argument of
the work function so that passing the id was optional in the lambda,
that's not a *huge* deal and it makes it more explicit I suppose.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Summary:
I'm going to attempt to move the `rpc.h` header to a separate folder
that we can install and include outside of `libc`. Before doing this I'm
going to try to trim up the file so there's not as many things I need to
copy to make it work. This dependency on `cpp::functional` is a low
hanging fruit. I only did it so that I could overload the argument of
the work function so that passing the id was optional in the lambda,
that's not a *huge* deal and it makes it more explicit I suppose.</pre>
</div>
</content>
</entry>
<entry>
<title>[libc][stdio] Use proxy headers of stdio.h in src and test folders. (#110067)</title>
<updated>2024-10-01T15:48:07+00:00</updated>
<author>
<name>lntue</name>
<email>lntue@google.com</email>
</author>
<published>2024-10-01T15:48:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c63112a9118277a20ae440f3f69189c0937e8f4d'/>
<id>c63112a9118277a20ae440f3f69189c0937e8f4d</id>
<content type='text'>
https://github.com/llvm/llvm-project/issues/60481</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/llvm/llvm-project/issues/60481</pre>
</div>
</content>
</entry>
<entry>
<title>[libc] Implement (v|f)printf on the GPU (#96369)</title>
<updated>2024-07-13T00:36:13+00:00</updated>
<author>
<name>Joseph Huber</name>
<email>huberjn@outlook.com</email>
</author>
<published>2024-07-13T00:36:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=40effc7af5679b7d54d3176a5eef2cdee1962ecd'/>
<id>40effc7af5679b7d54d3176a5eef2cdee1962ecd</id>
<content type='text'>
Summary:
This patch implements the `printf` family of functions on the GPU using
the new variadic support. This patch adapts the old handling in the
`rpc_fprintf` placeholder, but adds an extra RPC call to get the size of
the buffer to copy. This prevents the GPU from needing to parse the
string. While it's theoretically possible for the pass to know the size
of the struct, it's prohibitively difficult to do while maintaining ABI
compatibility with NVIDIA's varargs.

Depends on https://github.com/llvm/llvm-project/pull/96015.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Summary:
This patch implements the `printf` family of functions on the GPU using
the new variadic support. This patch adapts the old handling in the
`rpc_fprintf` placeholder, but adds an extra RPC call to get the size of
the buffer to copy. This prevents the GPU from needing to parse the
string. While it's theoretically possible for the pass to know the size
of the struct, it's prohibitively difficult to do while maintaining ABI
compatibility with NVIDIA's varargs.

Depends on https://github.com/llvm/llvm-project/pull/96015.</pre>
</div>
</content>
</entry>
</feed>
