Christoph:

Actually, I already have the Redistributable package you mentioned below installed (for other reasons), but your PyCUDA installation couldn't find it for some reason. I'm not sure exactly how to configure it so that it can find it.

Thanks!



On 7/20/2010 11:35 AM, Christoph Gohlke wrote:


On 7/20/2010 10:41 AM, Andreas Kloeckner wrote:
A few comments here:

On Tue, 20 Jul 2010 08:19:39 -0700, reckoner<recko...@gmail.com> wrote:
as you may know, there is a Windows installer for PyCUDA here:

http://www.lfd.uci.edu/~gohlke/pythonlibs/#cython

Note that I have my own build of boost and PyCUDA, but I installed this
just to see if it would make distribution easier. There are two issues
I found with this ( note that I am on a 64-bit Windows XP installation).
The first is the following dependency check of the _driver.pyd file that
the installer provides:

---------------------------
Dependency Walker
---------------------------
MSVCP90.DLL was not found.

I'm guessing the installer should include this file. I've cc'd Christoph
on this email to see if this can be changed.

This file is part of the "Microsoft Visual C++ 2008 Redistributable
Package" (mscrt9), which by default is installed along with Python 2.6,
2.7, and 3.1 unless you choose a "for current user" installation. You
can manually reinstall the package from
http://www.microsoft.com/downloadS/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en
(64 bit) and
http://www.microsoft.com/downloadS/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en
(32 bit). If you want to distribute the PyCUDA pyd and dll files with
your application, without requiring the user to install the mscrt9
package, you have to use external manifest files and include a copy of
the mscrt9 dlls. This is not specific to PyCUDA.



Obviously, since I built my own PyCUDA and Boost libraries, I don't have
this problem in my _driver.pyd file. This problem basically made it
impossible for me to use the installer's version of PyCUDA.

The other issue is that the

http://wiki.tiker.net/PyCuda/Installation/Windows

encourages you to use the 1.38 boost libraries whereas the installer
above provides 1.41. I'm not sure the wiki is out of date, but I built
PyCUDA following the 1.38 instructions and everything works fine for me.

I'm guessing the 1.41 issue cited on the wiki was not actually a result
of the 1.38->1.41 switch. Any version of Boost newer than 1.35 should
work, including very new ones.

Interestingly, there are only two boost DLL's that the installer
provides:

boost_python-vc90-mt-1_41.dll
boost_thread-vc90-mt-1_41.dll

Note that when you build the boost libraries, you wind up with
approximately 4 GB of files. I removed everything from stage/lib in my
own installation except

boost_thread-vc90-mt-1_38.dll
boost_python-vc90-mt-1_38.dll

and I'm able to run all of the examples and tests for PyCUDA. This is a
*massive* disk-space savings since now I only have two files instead of
4 GB worth of files.

PyCUDA only requires a small part of Boost. As of current git, the
PyCUDA build system is capable of building these parts of Boost right
into PyCUDA, leading to only 400k of increase in PyCUDA's binary image
size. (incredibly, this is four orders of magnitude below a full Boost
install.)

Andreas

Nice, I'll give it a try.

--
Christoph

_______________________________________________
PyCUDA mailing list
PyCUDA@tiker.net
http://lists.tiker.net/listinfo/pycuda

Reply via email to