[petsc-dev] [petsc-maint] CUDA Version Compatibility

Satish Balay balay at mcs.anl.gov
Fri Jul 19 14:11:58 CDT 2013


On Fri, 19 Jul 2013, Barry Smith wrote:

> 
> On Jul 19, 2013, at 10:47 AM, Matthew Knepley <petsc-maint at mcs.anl.gov> wrote:
> 
> > On Fri, Jul 19, 2013 at 10:38 AM, Jason Sarich <sarich at mcs.anl.gov> wrote:
> > Shiva,
> > 
> > This is from my bad merge. PETSc used to allow cuda without cusp/thrust, this is apparently no longer an option. I'll fix this.
> > 
> > We do. You configure with --with-cuda-only
> 
>    In the long run this is a terrible way to indicate this and needs to be changed. It is inconsistent with how we do everything else by simply adding additional supports using --with-xxx.    We should have --with-cuda for basic cuda support and --with-cusp for cusp support (which may automatically add the --with-cuda).

For one --with-cuda-only=1 is the default [and all its doing the following]

>>>>
    if not self.framework.argDB['with-cuda-only']:
      if not self.cusp.found or not self.thrust.found:
      raise RuntimeError('PETSc CUDA support requires the CUSP and Thrust packages\nRerun configure using --with-cusp-dir and --with-thrust-dir')
      self.checkThrustVersion()
      self.checkCUSPVersion()
<<<<<

i.e currently none of these checks [including the version check for cusp/thrust] is being done.

So with-cuda-only option can be removed?

Also we have checkThrustVersion() and checkCUSPVersion() in cuda.py.
Perhaps they belong in thrust.py and cusp.py? [but for some reason
they were moved int cuda.py?]

And thrust.include is used in checkCUDAVersion(). Is this really
needed?


Satish



More information about the petsc-dev mailing list