CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/pypi-pyopencl

Python wrapper for OpenCL enabling GPU and parallel computing with comprehensive array operations and mathematical functions

86

1.28x
Overview
Eval results
Files

rubric.jsonevals/scenario-2/

{
  "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
    }
  ]
}

Install with Tessl CLI

npx tessl i tessl/pypi-pyopencl

tile.json