Advertisement
Guest User

Untitled

a guest
Mar 18th, 2019
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.86 KB | None | 0 0
  1. import pyopencl as cl
  2.  
  3. kernel_source = """
  4. __kernel void evaluate(){
  5.  
  6. /* Variable declarations */
  7.  
  8. size_t elementIndex = get_global_id(1);
  9.  
  10. size_t i, j;
  11.  
  12. double testValue[3];
  13. double trialValue[1];
  14.  
  15. double shapeIntegral[3][1];
  16.  
  17. for (i = 0; i < 3; ++i)
  18. for (j = 0; j < 1; ++j)
  19. shapeIntegral[i][j] = 0.0;
  20.  
  21.  
  22.  
  23. testValue[0] = 1.0; testValue[1] = 1.0; testValue[2] = 1.0;
  24. trialValue[0] = 1.0;
  25.  
  26. for (i = 0; i < 3; ++i)
  27. for (j = 0; j < 1; ++j){
  28. shapeIntegral[i][j] += testValue[i] * trialValue[j];
  29. }
  30. if (elementIndex == 0)
  31. printf("Value: %e\\n",shapeIntegral[0][0]);
  32. if (elementIndex == 0)
  33. printf("Value: %e\\n",shapeIntegral[1][0]);
  34.  
  35. }
  36. """
  37.  
  38. ctx = cl.create_some_context()
  39. queue = cl.CommandQueue(ctx, ctx.devices[0]);
  40. prg = cl.Program(ctx, kernel_source)
  41. prg.build()
  42. kernel = prg.evaluate
  43. kernel(queue, (1, 2), (1, 1))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement