All,
I've been struggling with a pycuda install on a new machine for quite a few
days now.
Windows 2008 Server 64bit
Tesla S2050 w/64bit driver (263.15)
Python 2.6 32bit - I need to use a proprietary python library that's only
available through Python 2.6 32bit (ArcGIS's new ArcPy, if you were curious.
Python 2.6 is actually installed as part of the ArcGIS install)
I've compiled boost from source. I've compiled PyCuda from source quite a few
times. Below are the contents of the siteconf.py file I've been using that is
most successful:
BOOST_INC_DIR = [r'C:\boost_1_46_1\boost_1_46_1']
BOOST_LIB_DIR = [r'C:\boost_1_46_1\boost_1_46_1\stage\lib']
BOOST_COMPILER = 'msvc'
BOOST_PYTHON_LIBNAME = ['boost_python-vc90-mt-1_46_1']
BOOST_THREAD_LIBNAME = ['boost_thread-vc90-mt-1_46_1']
CUDA_ROOT = r'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v3.2'
CUDADRV_LIB_DIR = [r'C:\Program Files\NVIDIA GPU Computing
Toolkit\CUDA\v3.2\lib\x64'] **I've tried v3.2\Win32 as well, but no luck**
CUDADRV_LIBNAME = ['cuda']
CXXFLAGS = ['/EHsc']
LDFLAGS = ['/FORCE']
I was stuck for a while with a PyCuda DLL import error. Through dependency
walker I was able to find a couple of dependencies of boost_python that I was
lacking. (As an aside, I'm really confused about the dependency of Boost/Boost
Python. It appears that Boost is required, but the note on the Wiki about
Windows Installation says "This set of instructions has not been updated for
the removal of the Boost dependency in 0.94", which leads me to believe that
boost isn't required. So, is boost a dependency, or not?)
Now, I'm able to at least import pycuda.driver. But, Python crashes (no error
message...I get a windows dialog box that says python.exe has stopped working)
when trying to do 'import pycuda.autoinit'. I'm able to execute the first
command of autoinit.py ('import pycuda.driver as cuda') but the crash is on the
second command (cuda.init()).
My questions are 1) what code is run on execution of cuda.init() ? 2) Any ideas
on what's causing the crash? I'm leaning toward a conflict of 32bit Python and
64bit Cuda driver, but I'll admit that I'm learning as I go on a lot of this.
3) In the PyCuda tutorial, it says "Note that you do not have to use
pycuda.autoinit–
initialization, context creation, and cleanup can also be performed
manually, if desired." What might code to do that look like?
Thanks!
Mike
_______________________________________________
PyCUDA mailing list
PyCUDA@tiker.net
http://lists.tiker.net/listinfo/pycuda