| [6267964] | 1 | use demoCL in Xcode to get hardware info (driver version openCL 1.1)
|
|---|
| [e01b89d] | 2 |
|
|---|
| 3 | square.c
|
|---|
| 4 |
|
|---|
| 5 |
|
|---|
| 6 | Types:
|
|---|
| 7 | size_t
|
|---|
| 8 | cl_device_id
|
|---|
| 9 | cl_context
|
|---|
| 10 | cl_command_queue
|
|---|
| 11 | cl_program
|
|---|
| 12 | cl_kernel
|
|---|
| 13 |
|
|---|
| 14 | cl_mem
|
|---|
| 15 | Types for now are just structs, see cl.h
|
|---|
| 16 | ------Above this line are implemented-------
|
|---|
| 17 | Hardware methods:
|
|---|
| 18 |
|
|---|
| 19 | methods are externs
|
|---|
| 20 | Declared but not defined unless given one
|
|---|
| 21 |
|
|---|
| 22 | clGetDeviceIDs
|
|---|
| 23 | uses int err, takes 5 parameters
|
|---|
| 24 | http://www.khronos.org/registry/cl/sdk/1.0/docs/man/xhtml/clGetDeviceIDs.html
|
|---|
| [4b7d11e] | 25 | [x]
|
|---|
| [e01b89d] | 26 |
|
|---|
| 27 | cl_int clGetPlatformIDs( cl_uint num_entries,
|
|---|
| 28 | cl_platform_id *platforms,
|
|---|
| 29 | cl_uint *num_platforms)
|
|---|
| 30 |
|
|---|
| 31 | clCreateContext
|
|---|
| 32 | uses a cl_context context, takes 6 parameters
|
|---|
| 33 | http://www.khronos.org/registry/cl/sdk/1.0/docs/man/xhtml/clCreateContext.html
|
|---|
| 34 | openCL uses them for commands, memory, program, kernel objects, executing kernels
|
|---|
| [0744ab0] | 35 | [x]
|
|---|
| [e01b89d] | 36 |
|
|---|
| 37 | Kernels and other:
|
|---|
| 38 | clCreateCommandQueue
|
|---|
| 39 | uses a cl_command_queue commands, takes 4 parameters
|
|---|
| 40 | uses &device_id and &err
|
|---|
| 41 | http://www.khronos.org/registry/cl/sdk/1.0/docs/man/xhtml/clCreateCommandQueue.html
|
|---|
| [1a54e12] | 42 | [x]
|
|---|
| [e01b89d] | 43 |
|
|---|
| 44 | clCreateProgramWithSource
|
|---|
| 45 | uses cl_program program, takes 5 parameters
|
|---|
| 46 | uses context
|
|---|
| [e8b328b] | 47 | -IN PROGRESS-
|
|---|
| 48 |
|
|---|
| 49 | clCreateProgramWithBinary
|
|---|
| [2259218] | 50 | [x], see clCreateProgramWithSource
|
|---|
| [e01b89d] | 51 |
|
|---|
| 52 | clBuildProgram
|
|---|
| [4b7d11e] | 53 | [x]
|
|---|
| [e01b89d] | 54 |
|
|---|
| [4b7d11e] | 55 | //clGetProgramBuildInfo
|
|---|
| [e01b89d] | 56 |
|
|---|
| 57 | clCreateKernel
|
|---|
| [4b7d11e] | 58 | [x]
|
|---|
| [e01b89d] | 59 |
|
|---|
| 60 | clCreateBuffer
|
|---|
| [4b7d11e] | 61 | []
|
|---|
| [e01b89d] | 62 |
|
|---|
| 63 | clEnqueueWriteBuffer
|
|---|
| [4b7d11e] | 64 | []
|
|---|
| [e01b89d] | 65 |
|
|---|
| 66 | clSetKernelArg
|
|---|
| [4b7d11e] | 67 | []
|
|---|
| [e01b89d] | 68 |
|
|---|
| 69 | clGetKernelWorkGroupInfo
|
|---|
| [4b7d11e] | 70 | []
|
|---|
| [e01b89d] | 71 |
|
|---|
| 72 | clEnqueueReadBuffer
|
|---|
| [4b7d11e] | 73 | []
|
|---|
| [e01b89d] | 74 |
|
|---|
| 75 | clReleaseMemObject
|
|---|
| [4b7d11e] | 76 | []
|
|---|
| [e01b89d] | 77 |
|
|---|
| 78 | clReleaseProgram
|
|---|
| [4b7d11e] | 79 | []
|
|---|
| [e01b89d] | 80 |
|
|---|
| 81 | clReleaseKernel
|
|---|
| [4b7d11e] | 82 | []
|
|---|
| [e01b89d] | 83 |
|
|---|
| 84 | clReleaseCommandQueue
|
|---|
| [4b7d11e] | 85 | []
|
|---|
| [e01b89d] | 86 |
|
|---|
| 87 | clReleaseContext
|
|---|
| [4b7d11e] | 88 | []
|
|---|
| 89 |
|
|---|
| 90 | Kernel code changes
|
|---|
| 91 | [6/17/14, 12:34:48 PM] Jean Jacques Rousseau: oh, right
|
|---|
| 92 | [6/17/14, 12:35:48 PM] Jean Jacques Rousseau: although, I think I found it
|
|---|
| 93 | [6/17/14, 12:36:04 PM] Jean Jacques Rousseau: this Comm is a struct, and one of the fields is storing the rank
|
|---|
| 94 | [6/17/14, 12:36:12 PM] Jean Jacques Rousseau: when you make it, put in the rank yourself
|
|---|
| [e01b89d] | 95 |
|
|---|
| [2259218] | 96 | flam naught shy stub
|
|---|
| 97 | bash
|
|---|
| [4b7d11e] | 98 | Done: clGetDeviceIDs, clCreateKernel
|
|---|
| 99 |
|
|---|
| 100 | ToDo:
|
|---|
| [2259218] | 101 |
|
|---|
| [4b7d11e] | 102 | Problems:
|
|---|
| 103 | Alterations to clGetDeviceIDs, slight problems with structs and pointers combined |
|---|