Skip to content

Commit a15f2c9

Browse files
authored
Update README.md
1 parent 9924a7d commit a15f2c9

File tree

1 file changed

+8
-12
lines changed

1 file changed

+8
-12
lines changed

README.md

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,15 @@ OperatorGraph
77

88
[![ScreenShot](http://www.pedroboechat.com/images/OperatorGraph-video-thumbnail.png)](https://www.youtube.com/embed/CvAlSffwB18?list=PLgV_NS3scu1yDnjMd8m-hLoRgG8Ql7xWN)
99

10-
It's essentially a toolkit offers an end-to-end solution to compile shape grammars as programs that efficiently run on CUDA enabled GPUs.
10+
It's essentially a toolkit that offers an end-to-end solution to compile shape grammars as programs that efficiently run on CUDA enabled GPUs.
1111

1212
This toolkit consists of:
1313
- a shape grammar interpreter,
1414
- a C++/CUDA library and
15-
- a GPU execution auto-tuner.
15+
- an execution auto-tuner.
1616

1717

18-
The implemented shape grammar - __PGA-shape__ - is a rule-based language that enable users to express sequences of modeling operations in a high level of abstraction.
18+
The implemented shape grammar - __PGA-shape__ - is a rule-based language that enables users to express sequences of modeling operations in a high level of abstraction.
1919

2020

2121
__PGA-shape__ can be used as a C++/CUDA idiom or as a domain specific language (DSL). For example, to model a [Menger sponge](https://en.wikipedia.org/wiki/Menger_sponge),
@@ -29,7 +29,7 @@ you could write the following grammar in __PGA-shape__ C++/CUDA:
2929
DynParam<0>>, 1>,
3030
> {};
3131

32-
or the equivalent grammar in __PGA-shape__ DSL:
32+
or the equivalent grammar in the __PGA-shape__ DSL:
3333

3434
axiom Box A;
3535

@@ -42,17 +42,13 @@ or the equivalent grammar in __PGA-shape__ DSL:
4242
SubY = SubDiv(Y) { -1: SubZ | -1: ZDiscard | -1: SubZ };
4343
SubX = SubDiv(X) { -1: SubY | -1: YDiscard | -1: SubY }
4444

45-
Resulting in the following Menger sponge:
45+
Both resulting the following Menger sponge:
4646

4747
![Menger Sponge](http://www.pedroboechat.com/images/operator-graph-menger-sponge.png)
4848

49-
Grammars written with the C++/CUDA variant can be embedded in OpenGL/Direct3D applications,
50-
while grammars written with the DSL can be executed on the GPU with the interpreter shipped with the toolkit.
51-
The interpreter can also be embedded in an OpenGL/Direct3D application.
52-
53-
54-
The main difference between the two methods is that with C++/CUDA the structure of the grammars directly influence the GPU scheduling,
55-
while with the DSL the execution on the GPU is scheduled the same way, independently of the grammar structure.
49+
Grammars written in the C++/CUDA idiom can be linked to OpenGL/Direct3D applications,
50+
while grammars written in the DSL can be embedded with the interpreter.
51+
The difference between the two methods is that with C++/CUDA the structure of the grammars directly influences the GPU scheduling, while with the DSL the execution on the GPU is always scheduled the same way, independently of the grammar structure.
5652

5753

5854
Grammars written with __PGA-shape__ DSL can be analyzed by the auto-tunner and be optimized for GPU execution.

0 commit comments

Comments
 (0)