US2017372507A1PendingUtilityA1
Using GPU for Network Packetization
Est. expiryApr 20, 2029(~2.8 yrs left)· nominal 20-yr term from priority
H04L 69/161H04L 69/22G06T 15/005G06T 2200/28H04L 69/16G06T 2200/04
45
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
Information to be sent over a network, such as the Ethernet, is packetized by using a graphics processing unit (GPU). The GPU performs packetization of data with much higher throughput than a typical central processing unit (CPU). The packetized data may be output through an Ethernet port, video port, or other port of an electronic system.
Claims
exact text as granted — not AI-modifiedThe invention claimed is:
1 . A method of operating an electronic system comprising:
creating a first texture in memory of a graphics processing unit of the system; reserving a plurality of first locations in the first texture as headers; reserving a plurality of second locations in the first texture as footers; reserving a plurality of third locations in the first texture as spans, wherein each of the spans are rectangular, and positioned between a header and footer; copying first data for packetization into the spans of the first texture using a first function call to the graphics processing unit; and outputting second data, including the first data and the headers and footers in the first texture through a network port of the system.
2 . The method of claim 1 wherein the first data is not copied into the headers and footers the first texture.
3 . The method of claim 1 wherein a source of the first data is outside of the graphics processing unit.
4 . The method of claim 1 wherein a source of the first data is from inside the graphics processing unit.
5 . The method of claim 1 wherein the first function is implemented as a fragment shader program in the graphics processing unit.
6 . The method of claim 1 wherein the copying first data for packetization into the spans of the first texture using a first function call to the graphics processing unit comprises:
using a first triangle operation to generate a first triangle in a first span of the first texture; and
using a second triangle operation to generate a second triangle in a first span of the first texture.
7 . The method of claim 1 wherein the copying first data for packetization into the spans comprises:
for each span of the first texture, performing at least two triangle operations.
8 . The method of claim 1 comprising receiving a two-dimensional geometric transfer list, by the graphics processing unit, that maps the third locations in spans in the texture, wherein copying the first data for packetization into the spans includes, using, by the graphics processing unit, the two-dimensional geometric transfer list not to copy the first data into the headers and footers.
9 . The method of claim 8 wherein the two-dimensional geometric transfer list includes vertex and texture coordinates for each span reserved in the texture in the memory of the graphics processing unit.
10 . The method of claim 9 wherein receiving the two-dimensional geometric transfer list by the graphics processing unit comprises using, by the graphics processing unit, a vertex buffer object for receiving the vertex and texture coordinates in the two-dimensional geometric transfer list.
11 . The method of claim 9 comprising transmogrifying, by the graphics processing unit, from a frame buffer of the graphics processing unit to the texture using the two-dimensional geometric transfer list and a shader program.
12 . A system comprising:
first data for packetization residing in the system; an output port to output second data, which is the first data after packetization; a graphics processing unit, coupled to the output port, wherein the graphics processing unit comprises graphics memory comprising a first texture organized to have a plurality of first locations in the first texture as headers, a plurality of second locations in the first texture as footers, a plurality of third locations in the first texture as spans, where each of the spans are rectangular, and positioned between a header and footer; and a fragment shader program, executing in the graphics processing unit, that copies the first data for packetization into the spans of the first texture by using triangle operations, while avoiding copying the first data into the headers or footers.
13 . The system of claim 12 wherein the output port is an Ethernet port.
14 . The system of claim 12 wherein the output port is a video port.
15 . The system of claim 12 wherein each of the headers in the first texture comprises an Ethernet header packet.
16 . The system of claim 12 wherein each of the footers in the first texture comprises an Ethernet footer packet.
17 . The system of claim 12 comprising an input port for receiving third data, which is a two-dimensional geometric transfer list that maps the first data locations in spans in the first texture, wherein the fragment shader program, executing in the graphics processing unit, that copies the first data for packetization into the spans of the first texture by using the triangle operations and the two-dimensional geometric transfer list for avoiding copying the first data into the headers or footers.
18 . The system of claim 17 wherein the two-dimensional geometric transfer list includes vertex and texture coordinates for each span reserved in the first texture in the graphics memory of the graphics processing unit.
19 . The system of claim 17 comprising a vertex buffer object for receiving the vertex and texture coordinates in the two-dimensional geometric transfer list.
20 . The method of claim 19 comprising a frame butter for storing the first data for packetization, wherein the fragment shader program, executing in the graphics processing unit, transmogrifies from the frame buffer of the graphics processing unit to the first texture using the two-dimensional geometric transfer list and a shader program.
21 . A method comprising:
using a graphics processing unit to perform network packetization comprising specifying a texture in the graphics processing unit comprising network headers, network footers, and spans for data to be packetized, wherein the spans are between the network headers and the network footers; and copying data to be packetized into spans of a texture of the graphics processing unit using triangle operations permitted by the graphics processing unit.
22 . The method of claim 21 comprising:
outputting packetized data using the graphics processing unit through an Ethernet port.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.