2010-03-03 03:02:47 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								! Copyright (C) 2010 Erik Charlebois. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								! See http://factorcode.org/license.txt for BSD license. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								USING:  help.markup  help.syntax  kernel  quotations  strings  opencl.private 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								math byte-arrays alien ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								IN:  opencl 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-03-24 13:03:49 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								HELP:  sampler>cl-addressing-mode 
							 
						 
					
						
							
								
									
										
										
										
											2010-03-03 03:02:47 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								{ $values
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { "sampler"  cl-sampler }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { "addressing-mode"  cl-addressing-mode }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $description "Returns the addressing mode of the given sampler."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								HELP:  cl-barrier 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $description "Insert a synchronization barrier into the current command queue."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								HELP:  cl-barrier-events 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $values
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { "event/events"  "a single event or sequence of events"  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $description "Insert a synchronization barrier for the specified events into the current command queue."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								HELP:  cl-buffer 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $var-description "Tuple wrapper which will release the memory object handle when disposed."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								HELP:  cl-buffer-ptr 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $var-description "A buffer and offset pair for specifying a starting point for a copy."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								HELP:  cl-buffer-range 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $var-description "A buffer, offset and size triplet for specifying copy ranges."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								HELP:  cl-context 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $var-description "Tuple wrapper which will release the context handle when disposed."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								HELP:  cl-current-context 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $var-description "Symbol for the current cl-context tuple."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								HELP:  cl-current-device 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $var-description "Symbol for the current cl-device tuple."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								HELP:  cl-current-queue 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $var-description "Symbol for the current cl-queue tuple."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								HELP:  cl-device 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $var-description "Tuple wrapper which will release the device handle when disposed."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								HELP:  cl-event 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $var-description "Tuple wrapper which will release the event handle when disposed."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								HELP:  cl-event-status 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $values
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { "event"  cl-event }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { "execution-status"  cl-execution-status }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $description "Returns the current execution status of the operation represented by the event."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								HELP:  cl-event-type 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $values
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { "event"  cl-event }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { "command-type"  cl-execution-status }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $description "Returns the type of operation that created the event."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-03-24 13:03:49 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								HELP:  sampler>cl-filter-mode 
							 
						 
					
						
							
								
									
										
										
										
											2010-03-03 03:02:47 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								{ $values
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { "sampler"  cl-sampler }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { "filter-mode"  cl-filter-mode }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $description "Returns the filter mode of the sampler object."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								HELP:  cl-finish 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $description "Flush the current command queue and wait till all operations are completed."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								HELP:  cl-flush 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $description "Flush the current command queue to kick off pending operations."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								HELP:  cl-kernel 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $var-description "Tuple wrapper which will release the kernel handle when disposed."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								HELP:  cl-kernel-arity 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $values
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { "kernel"  cl-kernel }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { "arity"  integer  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $description "Returns the number of inputs that this kernel function accepts."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								HELP:  cl-kernel-local-size 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $values
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { "kernel"  cl-kernel }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { "size"  integer  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $description "Returns the maximum size of a local work group for this kernel."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								HELP:  cl-kernel-name 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $values
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { "kernel"  cl-kernel }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { "string"  string  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $description "Returns the name of the kernel function."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								HELP:  cl-marker 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $values
							 
						 
					
						
							
								
									
										
										
										
											2015-07-02 13:31:22 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2010-03-03 03:02:47 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    { "event"  cl-event }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $description "Inserts a marker into the current command queue."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								HELP:  cl-normalized-coords? 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $values
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { "sampler"  cl-sampler }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { "?"  boolean  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $description "Returns whether the sampler uses normalized coords or not."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								HELP:  cl-out-of-order-execution? 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $values
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { "command-queue"  cl-queue }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { "?"  boolean  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $description "Returns whether the given command queue allows out of order execution or not."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								HELP:  cl-platform 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $var-description "Tuple summarizing the capabilities and devices of an OpenCL platform."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								HELP:  cl-platforms 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $values
							 
						 
					
						
							
								
									
										
										
										
											2015-07-02 13:31:22 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-08-06 18:05:12 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    { "platforms"  "sequence of cl-platform"  }
							 
						 
					
						
							
								
									
										
										
										
											2010-03-03 03:02:47 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $description "Returns the platforms available for OpenCL computation on this hardware."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								HELP:  cl-profile-counters 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $values
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { "event"  cl-event }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { "queued"  integer  } { "submitted"  integer  } { "started"  integer  } { "finished"  integer  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $description "Returns the profiling counters for the operation represented by event."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								HELP:  cl-profiling? 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $values
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { "command-queue"  cl-queue }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { "?"  boolean  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $description "Returns true if the command queue allows profiling."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								HELP:  cl-program 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $var-description "Tuple wrapper which will release the program handle when disposed."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								HELP:  cl-queue 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $var-description "Tuple wrapper which will release the command queue handle when disposed."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								HELP:  cl-read-buffer 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $values
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { "buffer-range"  cl-buffer-range }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { "byte-array"  byte-array }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $description "Synchronously read a byte-array from the specified buffer location."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								HELP:  cl-sampler 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $var-description "Tuple wrapper which will release the sampler handle when disposed."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								HELP:  cl-queue-copy-buffer 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $values
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { "src-buffer-ptr"  cl-buffer-ptr } { "dst-buffer-ptr"  cl-buffer-ptr } { "size"  integer  } { "dependent-events"  "sequence of events"  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { "event"  cl-event }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $description "Queue a copy operation from "  { $snippet "src-buffer-ptr"  } " to "  { $snippet "dst-buffer-ptr"  } ". Dependent events can be passed to order the operation relative to other operations."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								HELP:  cl-queue-kernel 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $values
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { "kernel"  cl-kernel } { "args"  "sequence of cl-buffer or byte-array"  } { "sizes"  "sequence of integers"  } { "dependent-events"  "sequence of events"  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { "event"  cl-event }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $description "Queue a kernel for execution with the given arguments. The "  { $snippet "sizes"  } " argument specifies input array sizes for each dimension. Dependent events can be passed to order the operation relative to other operations."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								HELP:  cl-queue-read-buffer 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $values
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { "buffer-range"  cl-buffer-range } { "alien"  alien } { "dependent-events"  "a sequence of events"  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { "event"  cl-event }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $description "Queue a read operation from "  { $snippet "buffer-range"  } " to "  { $snippet "alien"  } ". Dependent events can be passed to order the operation relative to other operations."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								HELP:  cl-queue-write-buffer 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $values
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { "buffer-range"  cl-buffer-range } { "alien"  alien } { "dependent-events"  "a sequence of events"  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { "event"  cl-event }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $description "Queue a write operation from "  { $snippet "alien"  } " to "  { $snippet "buffer-range"  } ". Dependent events can be passed to order the operation relative to other operations."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								HELP:  cl-wait 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $values
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { "event/events"  "a single event or sequence of events"  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $description "Synchronously wait for the events to complete."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								HELP:  cl-write-buffer 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $values
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { "buffer-range"  cl-buffer-range } { "byte-array"  byte-array }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $description "Synchronously write a byte-array to the specified buffer location."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								HELP:  <cl-program> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $values
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { "options"  string  } { "strings"  "sequence of source code strings"  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { "program"  "compiled cl-program"  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $description "Compile the given source code and return a program object. A "  { $link cl-error } " is thrown in the event of a compile error."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								HELP:  with-cl-state 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $values
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  { "context/f"  { $maybe cl-context } } { "device/f"  { $maybe cl-device } } { "queue/f"  { $maybe cl-queue } } { "quot"  quotation }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $description "Run the specified quotation with the given context, device and command queue. False arguments are not bound."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								ARTICLE: "opencl"  "OpenCL" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								"The "  { $vocab-link "opencl"  } " vocabulary provides high-level words for using OpenCL." 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $subsections
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  cl-platforms
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  <cl-queue>
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  with-cl-state
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								"Memory Objects:" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $subsections
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  <cl-buffer>
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  cl-queue-copy-buffer
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  cl-read-buffer
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  cl-queue-read-buffer
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  cl-write-buffer
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  cl-queue-write-buffer
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								"Programs and Kernels:" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $subsections
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  <cl-program>
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  <cl-kernel>
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								"Running and Waiting for Completion:" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ $subsections
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  cl-queue-kernel
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  cl-wait
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  cl-flush
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  cl-finish
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								ABOUT: "opencl"