On 2013-07-25, at 10:45 , Chuck Zhao <[email protected]> wrote: > 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.
I second this motion. -erik -- Erik Schnetter <[email protected]> http://www.perimeterinstitute.ca/personal/eschnetter/ My email is as private as my paper mail. I therefore support encrypting and signing email messages. Get my PGP key from http://keys.gnupg.net. ------------------------------------------------------------------------------ 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
