Hi everyone,
I'm working on some multi GPU software, and I've run into a snag on
OSX. (Note that this works on Linux.) Here's some sample code:
import multiprocessing
import pycuda.driver as drv
drv.init() ## COMMENT THIS LINE AND IT RUNS FINE
if __name__=="__main__":
def tar():
print drv.Device(0).make_context()
thd = multiprocessing.Process(target=tar)
thd.start()
thd.join()
This code produces the following error:
LogicError: cuDeviceGet failed: not initialized
I want to be able to keep the first "drv.init()" so that my code will
play nice with other pycuda software on the host thread. My guess is
the source of the issue is related to how multiprocessing clones the
parent process. It probably does something weird to pycuda.
Any suggestions? Thanks a ton in advanced for your help!!
---
Andrew Cron
Duke University
[email protected]
(919) 627-8564
http://www.stat.duke.edu/~ajc40/
_______________________________________________
PyCUDA mailing list
[email protected]
http://lists.tiker.net/listinfo/pycuda