Python wrapper for Nvidia CUDA parallel computation API with object cleanup, automatic error checking, and convenient abstractions.
{
"context": "This criteria evaluates how well the engineer uses PyCUDA's module loading and function attribute querying capabilities to implement a kernel analyzer. The focus is on proper usage of PyCUDA's driver API for retrieving kernel functions and querying their attributes.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Module loading",
"description": "Uses pycuda.driver.module_from_file() or equivalent method to load the compiled CUDA module from the file path",
"max_score": 20
},
{
"name": "Function retrieval",
"description": "Uses the Module.get_function() method to retrieve kernel functions by name from the loaded module",
"max_score": 20
},
{
"name": "Register count query",
"description": "Uses Function.num_regs or equivalent attribute/method to query the register count of a kernel function",
"max_score": 15
},
{
"name": "Shared memory query",
"description": "Uses Function.shared_size_bytes or equivalent attribute/method to query the shared memory usage of a kernel function",
"max_score": 15
},
{
"name": "Max threads query",
"description": "Uses Function.max_threads_per_block or equivalent attribute/method to query the maximum thread block size for a kernel function",
"max_score": 15
},
{
"name": "CUDA context initialization",
"description": "Properly initializes CUDA by calling pycuda.driver.init() and creates/manages a CUDA context (e.g., using pycuda.autoinit or manual context creation)",
"max_score": 10
},
{
"name": "Error handling",
"description": "Properly handles PyCUDA exceptions (such as pycuda._driver.Error or LogicError) for missing files and invalid function names",
"max_score": 5
}
]
}tessl i tessl/pypi-pycuda@2025.1.0docs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10