Just stopping by to mention PyOpenCL [1] as a possible, non-Nvidia-specific (in fact not-GPU-specific) alternative to PyCUDA.I'm no expert, so I'll just share a few links to start this discussion. You definitely want to look at Cython if you're computing with NumPy arrays. If you're familiar with the MPI programming model, you want to check out mpi4py. If you have NVIDIA GPUs that you'd like to take advantage of, check out PyCUDA.