From: Benjamin Segovia Date: Wed, 13 Jun 2012 00:48:39 +0000 (+0000) Subject: Added first documentation on flat address space Compiled markdown files X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c305aefbec6dacffac75adf7c6820b1fea5e4a0e;p=contrib%2Fbeignet.git Added first documentation on flat address space Compiled markdown files --- diff --git a/backend/README.html b/backend/README.html new file mode 100644 index 0000000..5458c63 --- /dev/null +++ b/backend/README.html @@ -0,0 +1,63 @@ +

OpenCL Compiler

+ +

This code base contains the compiler part of the complete OpenCL stack. The +run-time is not in this code base and is developed inside "OpenCL runtime" +project. The compiler is responsible to take a OpenCL language string and to +compile it into a binary that can be executed on Intel integrated GPUs.

+ +

How to build

+ +

The project uses CMake with three profiles:

+ +
    +
  1. Debug (-g)
  2. +
  3. RelWithDebInfo (-g with optimizations)
  4. +
  5. Release (only optimizations)
  6. +
+ +

Basically, from the root directory of the project

+ +

> mkdir build

+ +

> ccmake ../ # to configure

+ +

Choose whatever you want for the build

+ +

Then press 'c' to configure and 'g' to generate the code

+ +

> make

+ +

The project only depends on LLVM (Low-Level Virtual Machine project). Right +now, the code has only been compiled with LLVM 3.0. It will not compile with +any thing older. A small amount of work should be required to make it work +with LLVM 3.1 but the port is not done. LLVM 3.0 can be downloaded at:

+ +

http://llvm.org/releases/

+ +

Be careful and download LLVM 3.0

+ +

How to run

+ +

There is nothing to do to run it. However, unit tests can be compiled (by +setting GBE_COMPILE_UTESTS to true). Once compiled, you can simply run

+ +

> ./tester # to run the unit tests

+ +

Limitations

+ +

Today, the compiler is far from complete. See doc/TODO.md for a (incomplete) +lists of things to do.

+ +

Implementation details

+ +

Several key decisions may use the hardware in an usual way. See the following +documents for the technical details about the compiler implementation:

+ + + +

Ben Segovia benjamin.segovia@intel.com

diff --git a/backend/README.md b/backend/README.md index 9483d7e..6f21917 100644 --- a/backend/README.md +++ b/backend/README.md @@ -14,6 +14,7 @@ The project uses CMake with three profiles: 1. Debug (-g) 2. RelWithDebInfo (-g with optimizations) 3. Release (only optimizations) + Basically, from the root directory of the project `> mkdir build` @@ -39,7 +40,7 @@ How to run ---------- There is nothing to do to run it. However, unit tests can be compiled (by -setting GBE_COMPILE_UTESTS to true). Once compiled, you can simply run +setting `GBE_COMPILE_UTESTS` to true). Once compiled, you can simply run `> ./tester # to run the unit tests` @@ -55,10 +56,10 @@ Implementation details Several key decisions may use the hardware in an usual way. See the following documents for the technical details about the compiler implementation: -- [Flat address space](doc/flat\_address\_space) -- [Unstructured branches](doc/unstructured\_branches) -- [Scalar intermediate representation](doc/gen\_ir) -- [Clean backend implementation](doc/backend) +- [Flat address space](doc/flat\_address\_space.html) +- [Unstructured branches](doc/unstructured\_branches.html) +- [Scalar intermediate representation](doc/gen\_ir.html) +- [Clean backend implementation](doc/backend.html) Ben Segovia diff --git a/backend/doc/flat_address_space.html b/backend/doc/flat_address_space.html new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/backend/doc/flat_address_space.html @@ -0,0 +1 @@ + diff --git a/backend/doc/flat_address_space.md b/backend/doc/flat_address_space.md new file mode 100644 index 0000000..d87b739 --- /dev/null +++ b/backend/doc/flat_address_space.md @@ -0,0 +1,4 @@ +Flat Address Space +================== + +The first big problem with OpenCL is its very liberal use of pointers.