For threads, they also seem to need to be associated with a specific context:

http://wiki.tiker.net/PyCuda/FrequentlyAskedQuestions#How_does_PyCUDA_handle_threading.3F

I still have some learning to do here though.