Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[libc][Docs] Update the GPU RPC documentation #79069

Merged
merged 1 commit into from
Jan 23, 2024
Merged

Conversation

jhuber6
Copy link
Contributor

@jhuber6 jhuber6 commented Jan 22, 2024

Summary:
This adds some more concrete information on the RPC interface. Hopefully
this is intelligable and provides some useful examples.

@llvmbot
Copy link
Collaborator

llvmbot commented Jan 22, 2024

@llvm/pr-subscribers-libc

Author: Joseph Huber (jhuber6)

Changes

Summary:
This adds some more concrete information on the RPC interface. Hopefully
this is intelligable and provides some useful examples.


Patch is 75.70 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/79069.diff

3 Files Affected:

  • (added) libc/docs/gpu/rpc-diagram.svg (+1)
  • (modified) libc/docs/gpu/rpc.rst (+285-4)
  • (modified) libc/docs/gpu/testing.rst (+3-3)
diff --git a/libc/docs/gpu/rpc-diagram.svg b/libc/docs/gpu/rpc-diagram.svg
new file mode 100644
index 000000000000000..eb9b807e52004ee
--- /dev/null
+++ b/libc/docs/gpu/rpc-diagram.svg
@@ -0,0 +1 @@
+<svg version="1.1" viewBox="0.0 0.0 960.0 540.0" fill="none" stroke="none" stroke-linecap="square" stroke-miterlimit="10" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg"><clipPath id="g2b223c31cff_0_0.0"><path d="m0 0l960.0 0l0 540.0l-960.0 0l0 -540.0z" clip-rule="nonzero"/></clipPath><g clip-path="url(#g2b223c31cff_0_0.0)"><path fill="#000000" fill-opacity="0.0" d="m0 0l960.0 0l0 540.0l-960.0 0z" fill-rule="evenodd"/><path fill="#b6d7a8" d="m271.76743 215.15164l109.921265 0l0 79.93701l-109.921265 0z" fill-rule="evenodd"/><path stroke="#ffffff" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m271.76743 215.15164l109.921265 0l0 79.93701l-109.921265 0z" fill-rule="evenodd"/><path fill="#000000" d="m294.84525 262.04013l0 -11.624985l1.03125 0l2.875 5.6874847l2.921875 -5.7031097l0.984375 0l0 11.64061l-1.234375 0l0 -8.76561l-2.515625 4.6874847l-0.5 0l-2.34375 -4.6406097l0 8.718735l-1.21875 0zm12.5 0.203125q-1.453125 0 -2.234375 -0.65625q-0.78125 -0.671875 -0.78125 -1.6875q0 -0.6875 0.328125 -1.234375q0.328125 -0.5625 0.921875 -0.9375q0.59375 -0.390625 1.375 -0.59375q0.78125 -0.203125 1.65625 -0.203125q0.3125 0 0.640625 0.015625q0.328125 0 0.6875 0.03125q0.375 0.03125 0.765625 0.078125l0.03125 1.03125q-0.328125 -0.0625 -0.671875 -0.078125q-0.34375 -0.03125 -0.6875 -0.046875q-0.328125 -0.03125 -0.65625 -0.03125q-0.671875 0 -1.234375 0.125q-0.546875 0.109375 -0.96875 0.328125q-0.40625 0.21875 -0.640625 0.578125q-0.21875 0.359375 -0.21875 0.859375q0 0.390625 0.140625 0.671875q0.140625 0.265625 0.375 0.421875q0.25 0.15625 0.578125 0.234375q0.328125 0.0625 0.71875 0.0625q0.734375 0 1.296875 -0.21875q0.578125 -0.234375 0.96875 -0.6875q0.40625 -0.453125 0.609375 -1.09375q0.203125 -0.65625 0.203125 -1.5q0 -1.265625 -0.296875 -1.9687347q-0.296875 -0.71875 -0.890625 -1.015625q-0.578125 -0.296875 -1.5 -0.296875q-0.609375 0 -1.203125 0.234375q-0.59375 0.234375 -1.078125 0.71875l-0.65625 -0.859375q0.59375 -0.59375 1.375 -0.890625q0.78125 -0.3125 1.65625 -0.3125q0.84375 0 1.53125 0.21875q0.6875 0.203125 1.1875 0.6875q0.5 0.46875 0.765625 1.265625q0.265625 0.79685974 0.265625 2.0156097l0 4.53125l-1.453125 0l0 -1.3125q-0.234375 0.46875 -0.59375 0.765625q-0.34375 0.296875 -0.734375 0.46875q-0.390625 0.15625 -0.796875 0.21875q-0.40625 0.0625 -0.78125 0.0625zm7.25 -0.203125l0 -1.078125l2.1875 0l0 -6.3593597l-2.0625 0l0 -1.09375l3.40625 0l0 7.4531097l2.0 0l0 1.078125l-5.53125 0zm2.78125 -10.312485q-0.390625 0 -0.671875 -0.28125q-0.28125 -0.28125 -0.28125 -0.671875q0 -0.40625 0.265625 -0.6875q0.28125 -0.28125 0.6875 -0.28125q0.390625 0 0.671875 0.296875q0.296875 0.28125 0.296875 0.671875q0 0.390625 -0.296875 0.671875q-0.28125 0.28125 -0.671875 0.28125zm6.15625 10.312485l0 -1.078125l2.53125 0l0 -10.249985l-2.421875 0l0 -1.078125l3.78125 0l0 11.32811l2.5 0l0 1.078125l-6.390625 0zm12.828125 0.203125q-0.53125 0 -1.0 -0.15625q-0.46875 -0.15625 -0.84375 -0.453125q-0.375 -0.296875 -0.6875 -0.71875l-0.453125 1.125l-0.859375 0l0 -12.406235l1.34375 0l0.1875 0l0 0.125q-0.125 0.125 -0.15625 0.25q-0.015625 0.125 -0.015625 0.453125l0 4.359375q0.203125 -0.34375 0.484375 -0.609375q0.28125 -0.28125 0.609375 -0.484375q0.34375 -0.21875 0.71875 -0.3125q0.375 -0.109375 0.71875 -0.109375q0.78125 0 1.421875 0.28125q0.65625 0.265625 1.109375 0.8125q0.46875 0.546875 0.71875 1.375q0.265625 0.81248474 0.265625 1.9218597q0 1.140625 -0.3125 2.0q-0.296875 0.84375 -0.8125 1.421875q-0.5 0.5625 -1.140625 0.84375q-0.625 0.28125 -1.296875 0.28125l0 0zm-0.171875 -1.1875q0.453125 0 0.859375 -0.171875q0.421875 -0.171875 0.75 -0.546875q0.34375 -0.390625 0.53125 -1.015625q0.203125 -0.640625 0.203125 -1.546875q0 -0.84375 -0.171875 -1.46875q-0.15625 -0.62498474 -0.46875 -1.0312347q-0.3125 -0.421875 -0.75 -0.609375q-0.421875 -0.203125 -0.921875 -0.203125q-0.6875 0 -1.21875 0.421875q-0.53125 0.421875 -0.828125 1.1874847q-0.296875 0.75 -0.296875 1.734375q0 0.734375 0.125 1.328125q0.140625 0.59375 0.40625 1.03125q0.265625 0.421875 0.703125 0.65625q0.4375 0.234375 1.078125 0.234375l0 0zm9.203125 1.140625q-1.171875 0 -2.0625 -0.5625q-0.875 -0.578125 -1.375 -1.578125q-0.5 -1.0 -0.5 -2.28125q0 -1.3125 0.5 -2.3124847q0.5 -1.0 1.375 -1.5625q0.890625 -0.578125 2.0625 -0.578125q1.15625 0 2.03125 0.578125q0.890625 0.5625 1.390625 1.5625q0.5 0.99998474 0.5 2.3124847q0 1.28125 -0.5 2.28125q-0.5 1.0 -1.390625 1.578125q-0.875 0.5625 -2.03125 0.5625zm0 -1.125q0.734375 0 1.296875 -0.421875q0.5625 -0.4375 0.890625 -1.1875q0.328125 -0.75 0.328125 -1.71875q0 -0.96875 -0.328125 -1.703125q-0.328125 -0.74998474 -0.890625 -1.1718597q-0.5625 -0.421875 -1.296875 -0.421875q-0.734375 0 -1.3125 0.421875q-0.5625 0.421875 -0.890625 1.1718597q-0.328125 0.734375 -0.328125 1.703125q0 0.96875 0.328125 1.71875q0.328125 0.75 0.890625 1.1875q0.578125 0.421875 1.3125 0.421875zm5.53125 0.96875l3.0 -4.328125l-2.9375 -4.2031097l1.46875 0l2.21875 3.1562347l2.125 -3.1562347l1.390625 0l-2.765625 4.1406097l3.125 4.390625l-1.515625 0l-2.359375 -3.328125l-2.21875 3.328125l-1.53125 0z" fill-rule="nonzero"/><path fill="#ffe599" d="m716.0079 215.15164l109.921265 0l0 79.93701l-109.921265 0z" fill-rule="evenodd"/><path stroke="#ffffff" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m716.0079 215.15164l109.921265 0l0 79.93701l-109.921265 0z" fill-rule="evenodd"/><path fill="#000000" d="m739.0857 262.04013l0 -11.624985l1.03125 0l2.875 5.6874847l2.921875 -5.7031097l0.984375 0l0 11.64061l-1.234375 0l0 -8.76561l-2.515625 4.6874847l-0.5 0l-2.34375 -4.6406097l0 8.718735l-1.21875 0zm12.5 0.203125q-1.453125 0 -2.234375 -0.65625q-0.78125 -0.671875 -0.78125 -1.6875q0 -0.6875 0.328125 -1.234375q0.328125 -0.5625 0.921875 -0.9375q0.59375 -0.390625 1.375 -0.59375q0.78125 -0.203125 1.65625 -0.203125q0.3125 0 0.640625 0.015625q0.328125 0 0.6875 0.03125q0.375 0.03125 0.765625 0.078125l0.03125 1.03125q-0.328125 -0.0625 -0.671875 -0.078125q-0.34375 -0.03125 -0.6875 -0.046875q-0.328125 -0.03125 -0.65625 -0.03125q-0.671875 0 -1.234375 0.125q-0.546875 0.109375 -0.96875 0.328125q-0.40625 0.21875 -0.640625 0.578125q-0.21875 0.359375 -0.21875 0.859375q0 0.390625 0.140625 0.671875q0.140625 0.265625 0.375 0.421875q0.25 0.15625 0.578125 0.234375q0.328125 0.0625 0.71875 0.0625q0.734375 0 1.296875 -0.21875q0.578125 -0.234375 0.96875 -0.6875q0.40625 -0.453125 0.609375 -1.09375q0.203125 -0.65625 0.203125 -1.5q0 -1.265625 -0.296875 -1.9687347q-0.296875 -0.71875 -0.890625 -1.015625q-0.578125 -0.296875 -1.5 -0.296875q-0.609375 0 -1.203125 0.234375q-0.59375 0.234375 -1.078125 0.71875l-0.65625 -0.859375q0.59375 -0.59375 1.375 -0.890625q0.78125 -0.3125 1.65625 -0.3125q0.84375 0 1.53125 0.21875q0.6875 0.203125 1.1875 0.6875q0.5 0.46875 0.765625 1.265625q0.265625 0.79685974 0.265625 2.0156097l0 4.53125l-1.453125 0l0 -1.3125q-0.234375 0.46875 -0.59375 0.765625q-0.34375 0.296875 -0.734375 0.46875q-0.390625 0.15625 -0.796875 0.21875q-0.40625 0.0625 -0.78125 0.0625zm7.25 -0.203125l0 -1.078125l2.1875 0l0 -6.3593597l-2.0625 0l0 -1.09375l3.40625 0l0 7.4531097l2.0 0l0 1.078125l-5.53125 0zm2.78125 -10.312485q-0.390625 0 -0.671875 -0.28125q-0.28125 -0.28125 -0.28125 -0.671875q0 -0.40625 0.265625 -0.6875q0.28125 -0.28125 0.6875 -0.28125q0.390625 0 0.671875 0.296875q0.296875 0.28125 0.296875 0.671875q0 0.390625 -0.296875 0.671875q-0.28125 0.28125 -0.671875 0.28125zm6.15625 10.312485l0 -1.078125l2.53125 0l0 -10.249985l-2.421875 0l0 -1.078125l3.78125 0l0 11.32811l2.5 0l0 1.078125l-6.390625 0zm12.828125 0.203125q-0.53125 0 -1.0 -0.15625q-0.46875 -0.15625 -0.84375 -0.453125q-0.375 -0.296875 -0.6875 -0.71875l-0.453125 1.125l-0.859375 0l0 -12.406235l1.34375 0l0.1875 0l0 0.125q-0.125 0.125 -0.15625 0.25q-0.015625 0.125 -0.015625 0.453125l0 4.359375q0.203125 -0.34375 0.484375 -0.609375q0.28125 -0.28125 0.609375 -0.484375q0.34375 -0.21875 0.71875 -0.3125q0.375 -0.109375 0.71875 -0.109375q0.78125 0 1.421875 0.28125q0.65625 0.265625 1.109375 0.8125q0.46875 0.546875 0.71875 1.375q0.265625 0.81248474 0.265625 1.9218597q0 1.140625 -0.3125 2.0q-0.296875 0.84375 -0.8125 1.421875q-0.5 0.5625 -1.140625 0.84375q-0.625 0.28125 -1.296875 0.28125l0 0zm-0.171875 -1.1875q0.453125 0 0.859375 -0.171875q0.421875 -0.171875 0.75 -0.546875q0.34375 -0.390625 0.53125 -1.015625q0.203125 -0.640625 0.203125 -1.546875q0 -0.84375 -0.171875 -1.46875q-0.15625 -0.62498474 -0.46875 -1.0312347q-0.3125 -0.421875 -0.75 -0.609375q-0.421875 -0.203125 -0.921875 -0.203125q-0.6875 0 -1.21875 0.421875q-0.53125 0.421875 -0.828125 1.1874847q-0.296875 0.75 -0.296875 1.734375q0 0.734375 0.125 1.328125q0.140625 0.59375 0.40625 1.03125q0.265625 0.421875 0.703125 0.65625q0.4375 0.234375 1.078125 0.234375l0 0zm9.203125 1.140625q-1.171875 0 -2.0625 -0.5625q-0.875 -0.578125 -1.375 -1.578125q-0.5 -1.0 -0.5 -2.28125q0 -1.3125 0.5 -2.3124847q0.5 -1.0 1.375 -1.5625q0.890625 -0.578125 2.0625 -0.578125q1.15625 0 2.03125 0.578125q0.890625 0.5625 1.390625 1.5625q0.5 0.99998474 0.5 2.3124847q0 1.28125 -0.5 2.28125q-0.5 1.0 -1.390625 1.578125q-0.875 0.5625 -2.03125 0.5625zm0 -1.125q0.734375 0 1.296875 -0.421875q0.5625 -0.4375 0.890625 -1.1875q0.328125 -0.75 0.328125 -1.71875q0 -0.96875 -0.328125 -1.703125q-0.328125 -0.74998474 -0.890625 -1.1718597q-0.5625 -0.421875 -1.296875 -0.421875q-0.734375 0 -1.3125 0.421875q-0.5625 0.421875 -0.890625 1.1718597q-0.328125 0.734375 -0.328125 1.703125q0 0.96875 0.328125 1.71875q0.328125 0.75 0.890625 1.1875q0.578125 0.421875 1.3125 0.421875zm5.53125 0.96875l3.0 -4.328125l-2.9375 -4.2031097l1.46875 0l2.21875 3.1562347l2.125 -3.1562347l1.390625 0l-2.765625 4.1406097l3.125 4.390625l-1.515625 0l-2.359375 -3.328125l-2.21875 3.328125l-1.53125 0z" fill-rule="nonzero"/><path fill="#6aa84f" d="m417.9425 -3.874016l261.7953 0l0 91.71654l-261.7953 0z" fill-rule="evenodd"/><path stroke="#ffffff" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m417.9425 -3.874016l261.7953 0l0 91.71654l-261.7953 0z" fill-rule="evenodd"/><path fill="#000000" d="m531.27765 48.90425l0 -11.625l3.734375 0q1.3125 0 2.109375 0.453125q0.8125 0.4375 1.1875 1.1875q0.375 0.734375 0.375 1.640625q0 0.671875 -0.203125 1.25q-0.203125 0.578125 -0.640625 1.03125q-0.4375 0.453125 -1.109375 0.703125q-0.671875 0.234375 -1.625 0.234375l-2.484375 0l0 5.125l-1.34375 0zm1.34375 -6.28125l2.34375 0q0.859375 0 1.375 -0.25q0.515625 -0.265625 0.75 -0.71875q0.25 -0.453125 0.25 -1.046875q0 -0.578125 -0.25 -1.046875q-0.234375 -0.46875 -0.75 -0.75q-0.515625 -0.296875 -1.359375 -0.296875l-2.359375 0l0 4.109375zm11.5625 6.4375q-1.171875 0 -2.0625 -0.5625q-0.875 -0.578125 -1.375 -1.578125q-0.5 -1.0 -0.5 -2.28125q0 -1.3125 0.5 -2.3125q0.5 -1.0 1.375 -1.5625q0.890625 -0.578125 2.0625 -0.578125q1.15625 0 2.03125 0.578125q0.890625 0.5625 1.390625 1.5625q0.5 1.0 0.5 2.3125q0 1.28125 -0.5 2.28125q-0.5 1.0 -1.390625 1.578125q-0.875 0.5625 -2.03125 0.5625zm0 -1.125q0.734375 0 1.296875 -0.421875q0.5625 -0.4375 0.890625 -1.1875q0.328125 -0.75 0.328125 -1.71875q0 -0.96875 -0.328125 -1.703125q-0.328125 -0.75 -0.890625 -1.171875q-0.5625 -0.421875 -1.296875 -0.421875q-0.734375 0 -1.3125 0.421875q-0.5625 0.421875 -0.890625 1.171875q-0.328125 0.734375 -0.328125 1.703125q0 0.96875 0.328125 1.71875q0.328125 0.75 0.890625 1.1875q0.578125 0.421875 1.3125 0.421875zm6.875 -7.5625l1.40625 0l-0.0625 2.484375l-0.171875 -0.28125q0.109375 -0.578125 0.390625 -1.015625q0.28125 -0.453125 0.671875 -0.75q0.390625 -0.3125 0.859375 -0.46875q0.46875 -0.171875 0.96875 -0.171875q0.671875 0 1.234375 0.234375q0.578125 0.234375 1.03125 0.703125l-0.59375 1.046875l-0.078125 0.171875l-0.125 -0.078125q-0.046875 -0.15625 -0.125 -0.28125q-0.0625 -0.140625 -0.3125 -0.3125q-0.296875 -0.1875 -0.546875 -0.25q-0.25 -0.078125 -0.578125 -0.078125q-0.453125 0 -0.921875 0.1875q-0.46875 0.171875 -0.859375 0.546875q-0.375 0.375 -0.609375 0.953125q-0.21875 0.578125 -0.21875 1.375l0 4.53125l-1.359375 0l0 -8.546875zm12.6875 8.65625q-0.828125 0 -1.34375 -0.265625q-0.515625 -0.28125 -0.796875 -0.875q-0.28125 -0.59375 -0.375 -1.484375q-0.078125 -0.890625 -0.046875 -2.125l0.234375 -6.078125l1.390625 -0.171875l0.1875 -0.015625l0.015625 0.125q-0.09375 0.125 -0.15625 0.265625q-0.0625 0.125 -0.09375 0.4375l-0.171875 2.109375l0.0625 0.34375l-0.140625 3.078125q-0.046875 1.421875 0.078125 2.203125q0.125 0.765625 0.453125 1.0625q0.34375 0.28125 0.90625 0.28125q0.625 0 1.09375 -0.234375q0.46875 -0.25 1.0 -0.625l0.40625 1.0625q-0.625 0.46875 -1.296875 0.6875q-0.671875 0.21875 -1.40625 0.21875l0 0zm-4.265625 -8.65625l6.125 0l0 1.109375l-6.125 0l0 -1.109375z" fill-rule="nonzero"/><path fill="#6aa84f" d="m417.95084 420.30414l261.79526 0l0 91.71655l-261.79526 0z" fill-rule="evenodd"/><path stroke="#ffffff" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m417.95084 420.30414l261.79526 0l0 91.71655l-261.79526 0z" fill-rule="evenodd"/><path fill="#000000" d="m531.28595 473.0824l0 -11.625l3.734375 0q1.3125 0 2.109375 0.453125q0.8125 0.4375 1.1875 1.1875q0.375 0.734375 0.375 1.640625q0 0.671875 -0.203125 1.25q-0.203125 0.578125 -0.640625 1.03125q-0.4375 0.453125 -1.109375 0.703125q-0.671875 0.234375 -1.625 0.234375l-2.484375 0l0 5.125l-1.34375 0zm1.34375 -6.28125l2.34375 0q0.859375 0 1.375 -0.25q0.515625 -0.265625 0.75 -0.71875q0.25 -0.453125 0.25 -1.046875q0 -0.578125 -0.25 -1.046875q-0.234375 -0.46875 -0.75 -0.75q-0.515625 -0.296875 -1.359375 -0.296875l-2.359375 0l0 4.109375zm11.5625 6.4375q-1.171875 0 -2.0625 -0.5625q-0.875 -0.578125 -1.375 -1.578125q-0.5 -1.0 -0.5 -2.28125q0 -1.3125 0.5 -2.3125q0.5 -1.0 1.375 -1.5625q0.890625 -0.578125 2.0625 -0.578125q1.15625 0 2.03125 0.578125q0.890625 0.5625 1.390625 1.5625q0.5 1.0 0.5 2.3125q0 1.28125 -0.5 2.28125q-0.5 1.0 -1.390625 1.578125q-0.875 0.5625 -2.03125 0.5625zm0 -1.125q0.734375 0 1.296875 -0.421875q0.5625 -0.4375 0.890625 -1.1875q0.328125 -0.75 0.328125 -1.71875q0 -0.96875 -0.328125 -1.703125q-0.328125 -0.75 -0.890625 -1.171875q-0.5625 -0.421875 -1.296875 -0.421875q-0.734375 0 -1.3125 0.421875q-0.5625 0.421875 -0.890625 1.171875q-0.328125 0.734375 -0.328125 1.703125q0 0.96875 0.328125 1.71875q0.328125 0.75 0.890625 1.1875q0.578125 0.421875 1.3125 0.421875zm6.875 -7.5625l1.40625 0l-0.0625 2.484375l-0.171875 -0.28125q0.109375 -0.578125 0.390625 -1.015625q0.28125 -0.453125 0.671875 -0.75q0.390625 -0.3125 0.859375 -0.46875q0.46875 -0.171875 0.96875 -0.171875q0.671875 0 1.234375 0.234375q0.578125 0.234375 1.03125 0.703125l-0.59375 1.046875l-0.078125 0.171875l-0.125 -0.078125q-0.046875 -0.15625 -0.125 -0.28125q-0.0625 -0.140625 -0.3125 -0.3125q-0.296875 -0.1875 -0.546875 -0.25q-0.25 -0.078125 -0.578125 -0.078125q-0.453125 0 -0.921875 0.1875q-0.46875 0.171875 -0.859375 0.546875q-0.375 0.375 -0.609375 0.953125q-0.21875 0.578125 -0.21875 1.375l0 4.53125l-1.359375 0l0 -8.546875zm12.6875 8.65625q-0.828125 0 -1.34375 -0.265625q-0.515625 -0.28125 -0.796875 -0.875q-0.28125 -0.59375 -0.375 -1.484375q-0.078125 -0.890625 -0.046875 -2.125l0.234375 -6.078125l1.390625 -0.171875l0.1875 -0.015625l0.015625 0.125q-0.09375 0.125 -0.15625 0.265625q-0.0625 0.125 -0.09375 0.4375l-0.171875 2.109375l0.0625 0.34375l-0.140625 3.078125q-0.046875 1.421875 0.078125 2.203125q0.125 0.765625 0.453125 1.0625q0.34375 0.28125 0.90625 0.28125q0.625 0 1.09375 -0.234375q0.46875 -0.25 1.0 -0.625l0.40625 1.0625q-0.625 0.46875 -1.296875 0.6875q-0.671875 0.21875 -1.40625 0.21875l0 0zm-4.265625 -8.65625l6.125 0l0 1.109375l-6.125 0l0 -1.109375z" fill-rule="nonzero"/><path fill="#000000" fill-opacity="0.0" d="m417.95084 466.1624c-45.606293 0 -91.212585 -85.543335 -91.212585 -171.08664" fill-rule="evenodd"/><path stroke="#ffab40" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m417.95084 466.1624c-22.803162 0 -45.606293 -21.385834 -62.70868 -53.46457c-8.551178 -16.039368 -15.677155 -34.751984 -20.665344 -54.801178c-2.4940796 -10.024628 -4.4537354 -20.383392 -5.789856 -30.90921c-0.6680603 -5.2629395 -1.1802368 -10.567627 -1.5254211 -15.893188c-0.08627319 -1.3313904 -0.1621399 -2.664093 -0.22738647 -3.9977722l-0.0011291504 -0.024353027" fill-rule="evenodd"/><path fill="#ffab40" stroke="#ffab40" stroke-width="2.0" stroke-linecap="butt" d="m330.33548 306.99103l-3.5254211 -8.99231l-3.0794983 9.154602z" fill-rule="evenodd"/><path fill="#000000" fill-opacity="0.0" d="m326.72806 215.15164c0 -86.58269 45.606293 -173.16536 91.212585 -173.16536" fill-rule="evenodd"/><path stroke="#ffab40" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m326.72806 215.15164c0 -43.29135 11.401581 -86.58269 28.503937 -119.051186c8.551178 -16.234253 18.527557 -29.762794 29.216522 -39.232777c5.344513 -4.734989 10.867126 -8.455341 16.478851 -10.99194c1.4029236 -0.63415146 2.811432 -1.1943207 4.2240906 -1.6778603c0.1765747 -0.06044388 0.35327148 -0.11968994 0.52993774 -0.17773438l0.4109192 -0.13211441" fill-rule="evenodd"/><path fill="#ffab40" stroke="#ffab40" stroke-width="2.0" stroke-linecap="butt" d="m406.61584 47.149746l8.437958 -4.7001038l-9.485016 -1.8233299z" fill-rule="evenodd"/><path fill="#000000" fill-opacity="0.0" d="m770.9685 295.08865c0 85.543304 -45.606323 171.08661 -91.212585 171.08661" fill-rule="evenodd"/><path stroke="#ffab40" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m770.9685 295.08865c0 42.771637 -11.40155 85.543274 -28.503967 117.62201c-8.551147 16.039368 -18.527527 29.405518 -29.216492 38.76181c-5.3444824 4.6781616 -10.867126 8.353851 -16.478882 10.859985c-1.402832 0.6265869 -2.8114014 1.1800232 -4.22406 1.6577454c-0.1765747 0.059692383 -0.35327148 0.1182251 -0.5299072 0.17556763l-0.40753174 0.12945557" fill-rule="evenodd"/><path fill="#ffab40" stroke="#ffab40" stroke-width="2.0" stroke-linecap="butt" d="m691.09015 461.03253l-8.446533 4.6846313l9.481628 1.8407288z" fill-rule="evenodd"/><path fill="#000000" fill-opacity="0.0" d="m679.7378 41.984253c45.62207 0 91.24408 86.58267 91.24408 173.16536" fill-rule="evenodd"/><path stroke="#ffab40" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m679.7378 41.984253c22.811035 0 45.62201 21.645668 62.730286 54.114174c8.554138 16.234253 15.682617 35.174217 20.672485 55.467033c2.494934 10.146393 4.4553223 20.631027 5.79187 31.284744c0.6682739 5.326874 1.1806641 10.696014 1.526001 16.086288c0.086242676 1.3475647 0.16210938 2.696457 0.22741699 4.046341l0.007873535 0.17024231" fill-rule="evenodd"/><path fill="#ffab40" stroke="#ffab40" stroke-width="2.0" stroke-linecap="butt" d="m767.39124 203.23239l3.5204468 8.994247l3.0845947 -9.152893z" fill-rule="evenodd"/><path fill="#000000" fill-opacity="0.0" d="m534.39343 151.2861l0 -63.46457" fill-rule="evenodd"/><path stroke="#ffab40" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m534.39343 151.2861l0 -51.46457" fill-rule="evenodd"/><path fill="#ffab40" stroke="#ffab40" stroke-width="2.0" stroke-linecap="butt" d="m537.6969 99.82153l-3.3034668 -9.076195l-3.3034668 9.076195z" fill-rule="evenodd"/><path fill="#000000" fill-opacity="0.0" d="m563.27734 87.80994l0 63.46457" fill-rule="evenodd"/><path stroke="#ffab40" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m563.27734 87.80994l0 51.46457" fill-rule="evenodd"/><path fill="#ffab40" stroke="#ffab40" stroke-width="2.0" stroke-linecap="butt" d="m559.9739 139.2745l3.3034668 9.076187l3.3034668 -9.076187z" fill-rule="evenodd"/><path fill="#000000" fill-opacity="0.0" d="m563.28564 420.307l0 -63.46457" fill-rule="evenodd"/><path stroke="#ffab40" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m563.2857 420.307l0 -51.46457" fill-rule="evenodd"/><path fill="#ffab40" stroke="#ffab40" stroke-width="2.0" stroke-linecap="butt" d="m566.5892 368.84244l-3.3034668 -9.076202l-3.3034668 9.076202z" fill-rule="evenodd"/><path fill="#000000" fill-opacity="0.0" d="m534.40173 356.83084l0 63.46457" fill-rule="evenodd"/><path stroke="#ffab40" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m534.40173 356.83084l0 51.46457" fill-rule="evenodd"/><path fill="#ffab40" stroke="#ffab40" stroke-width="2.0" stroke-linecap="butt" d="m531.09827 408.2954l3.3034668 9.076172l3.3034668 -9.076172z" fill-rule="evenodd"/><path fill="#ea9999" d="m417.9342 151.2861l131.9685 0l0 54.929123l-131.9685 0z" fill-rule="evenodd"/><path stroke="#ffffff" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m417.9342 151.2861l131.9685 0l0 54.929123l-131.9685 0z" fill-rule="evenodd"/><path fill="#...
[truncated]

Summary:
This adds some more concrete information on the RPC interface. Hopefully
this is intelligable and provides some useful examples.
@jhuber6 jhuber6 merged commit 03d362d into llvm:main Jan 23, 2024
3 of 4 checks passed
Copy link
Member

@nickdesaulniers nickdesaulniers left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the write up! This was helpful

shared communicate channel between the two processes. This memory is often
pinned memory that can be accessed asynchronously and atomically by multiple
processes simultaneously. This supports means that we can simply provide mutual
exclusion on a shared better to swap work back and forth between the host system
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/better/buffer/

using this shared memory.

This work treats the GPU as a client and the host as a server. The client
initiates a communication while the server listens for them. In order to
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/them/requests/

* The server reads the data from the fixed-size packet.
* The server writes its data to the fixed-size packet and toggles its outbox.
* The server closes the port and continues searching for ports that need to be
serviced
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add punctuation

.. code-block:: sh

$> clang++ -x cuda rpc.cpp --offload-arch=native -fgpu-rdc -lcudart -lcgpu \
-I<install-path>include -L<install-path>/lib -lllvmlibc_rpc_server \
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add / before include for the -I to be consistent with -L

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants