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 sparse matrix support and Conjugate Gradient solver capabilities. The focus is specifically on using the appropriate sparse matrix structures, CG solver implementation, and preconditioner support from the pycuda.sparse module.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Sparse Matrix Format",
"description": "Uses PyCUDA's sparse matrix format classes (pycuda.sparse.coo_matrix or pycuda.sparse.packeted) to represent the sparse matrix A from coordinate format data.",
"max_score": 25
},
{
"name": "CG Solver Invocation",
"description": "Uses pycuda.sparse.cg function or CGSolver class to solve the linear system, properly passing the sparse matrix and right-hand side vector.",
"max_score": 30
},
{
"name": "Preconditioner Integration",
"description": "Implements support for both identity and diagonal preconditioners using PyCUDA's preconditioner classes (IdentityPreconditioner or DiagonalPreconditioner from pycuda.sparse).",
"max_score": 20
},
{
"name": "Convergence Configuration",
"description": "Properly configures the CG solver with tolerance and maximum iterations parameters, utilizing the solver's convergence control mechanisms.",
"max_score": 15
},
{
"name": "Result Extraction",
"description": "Correctly extracts and returns the solution vector, iteration count, and residual information from the CG solver's output.",
"max_score": 10
}
]
}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