-
Notifications
You must be signed in to change notification settings - Fork 10
Device Pool and Task Pool
Hüseyin Tuğrul BÜYÜKIŞIK edited this page Jun 11, 2017
·
20 revisions
v1.3.1: Instead of computing a kernel directly as
data00.nextParam(data01).compute(...);
operation can be saved for later as
ClTask task = data00.nextParam(data01).task(1, "test", testGlobalSize,testLocalSize);
with same parameters as compute() except number cruncher parameter. ClNumberCruncher instance is used only when computing a task as
task.compute(numberCruncher);
here, ClTask instance is an instance of parameter+kernel config frozen even if parameter fields are changed later. So multiple different tasks can be created from same parameters but with some of fields changed each time.
ClTask task = data00.nextParam(data01).task(1, "test", testGlobalSize,testLocalSize);
data01.read=false;
ClTask taskNoRead = data00.nextParam(data01).task(1, "test", testGlobalSize,testLocalSize);
data00.write=false;
ClTask taskNoReadWrite = data00.nextParam(data01).task(1, "test", testGlobalSize,testLocalSize);
task.compute(numCruncher); // read+write both arrays
taskNoRead.compute(numCruncher); // read only first array
taskNoReadWrite.compute(numCruncher);// write only second array and read only first array