Lack of finding any detailed description of what the kernel compiler 
does, I have been in the process of reading the LLVM source code for all 
files under
{POCL_SRC}/lib/llvmopencl/

I have roughly read all files twice.

Some I can easily understand, while others contain too much details. 
Without some level of introduction, it becomes difficult.

I can roughly understand as:
- package the kernel with 2 launchers: kernel_workgroup(), and 
kernel_workgroup_fast(), suitable for 2 different types of devices;
- various analysis and optimizations are there to help:
   . Flatten: POCL-specific inlining strategy;
   . Workitem-Loops: package workitems into loops;
   . Workitem-replication: package workitems through replication;
   . Workitem-chooser: selectively pick Workitem-Loops or 
Workitem-replication;
   . Kernel: the functions appear in opencl files only;
   . PHIsToAllocas: convert PHINodes into AllocaInsts, and load/store on 
each incoming path of the original PHINode (somehow similar to reg2mem);
   . GenerateHeader: details descriptions of the kernel function 
(parameters, types, workgroup properties, etc.)
   . Barrier: Barrier Instruction, "pocl.barrier", simulated using a 
CallInst;
   . AllocasToEntry: move all AllocaInst(s) to the entry block of the 
function;
   . etc.

I am asking the list if there is any written document describing the 
kernel compiler?
An overall flow graph with a 1-2 page text writing will be much appreciated.
In particular, the creations of the 2 launchers, and how the design 
decision is made.


Thank you very much

Chuck



------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
pocl-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/pocl-devel

Reply via email to