/// <summary>
 /// creates a command queue in a context
 /// </summary>
 /// <param name="context"></param>
 /// <param name="defaultQueue">OpenCL 2.0 dynamic parallelism queue</param>
 /// <param name="async">async!=0 means out-of-order command queue</param>
 public ClCommandQueue(ClContext context, bool defaultQueue, int async = 0)
 {
     hContext = context.h();
     hDevice  = context.hd();
     if (defaultQueue)
     {
         try
         {
             hCommandQueue = createCommandQueue2(hContext, hDevice, async, defaultQueue);
         }
         catch (EntryPointNotFoundException epnfe)
         {
             Console.WriteLine("Error: KutuphaneCL.dll's OpenCL2.0 dynamic parallelism support(needs v1.4.1+) not found.");
             Console.WriteLine(epnfe.Message);
         }
         finally
         {
         }
     }
     else
     {
         hCommandQueue = createCommandQueue(hContext, hDevice, async);
     }
     addedMarkers = 0;
 }
Beispiel #2
0
 /// <summary>
 /// creates a program from kernel string and context
 /// </summary>
 /// <param name="context"></param>
 /// <param name="clKernelString">kernel string to compile</param>
 public ClProgram(ClContext context, ClString clKernelString)
 {
     hContext        = context.h();
     hDevice         = context.hd();
     hString         = clKernelString.h();
     hProgram        = createProgram(hContext, hDevice, hString);
     intProgramError = getProgramErr(hProgram);
     // strHata = Encoding.UTF8.GetString(programHataStringiOku(hProgram));
     strProgramError = new StringBuilder(readProgramErrString(hProgram)).ToString();
 }