tessl install tessl/pypi-pyopencl@2025.2.0Python wrapper for OpenCL enabling GPU and parallel computing with comprehensive array operations and mathematical functions
Agent Success
Agent success rate when using this tile
86%
Improvement
Agent success rate improvement when using this tile compared to baseline
1.28x
Baseline
Agent success rate without this tile
67%
{
"context": "This evaluation assesses how well the engineer uses PyOpenCL's buffer creation, transfer, and management capabilities. The focus is on proper usage of PyOpenCL's Buffer class, enqueue operations for data transfer (enqueue_copy, enqueue_read_buffer, enqueue_write_buffer), and device memory management patterns.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Context initialization",
"description": "Uses pyopencl.create_some_context() or pyopencl.Context() to create an OpenCL context, and pyopencl.CommandQueue() to create a command queue for buffer operations.",
"max_score": 15
},
{
"name": "Buffer creation",
"description": "Uses pyopencl.Buffer() to create device buffers with appropriate memory flags (e.g., cl.mem_flags.READ_WRITE, cl.mem_flags.READ_ONLY, cl.mem_flags.WRITE_ONLY) for holding data on the device.",
"max_score": 20
},
{
"name": "Host-to-device transfer",
"description": "Uses cl.enqueue_copy() or cl.enqueue_write_buffer() to transfer data from numpy arrays on the host to device buffers, passing the correct queue, destination buffer, and source data.",
"max_score": 25
},
{
"name": "Device-to-host transfer",
"description": "Uses cl.enqueue_copy() or cl.enqueue_read_buffer() to transfer data from device buffers back to host numpy arrays, ensuring proper synchronization and data retrieval.",
"max_score": 25
},
{
"name": "Device-to-device copy",
"description": "Uses cl.enqueue_copy() with two device buffers (source and destination) to perform efficient device-to-device memory copy without transferring data through host memory.",
"max_score": 15
}
]
}