Re: [petsc-dev] [petsc-maint] CUDA Version Compatibility
On Jul 19, 2013, at 2:11 PM, Satish Balay <[email protected]> wrote:
On Fri, 19 Jul 2013, Barry Smith wrote:
On Jul 19, 2013, at 10:47 AM, Matthew Knepley <[email protected]> wrote:
On Fri, Jul 19, 2013 at 10:38 AM, Jason Sarich <[email protected]> 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?
Seems like cuda-only works even without cuda? That's not right :-(
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?]
Sure sounds like it.
And thrust.include is used in checkCUDAVersion(). Is this really needed?
Seems totally wrong. We use to think of cuda, thrust and cusp as always going together. Since we no longer think that it sounds like some refactoring is in order. Barry
Satish
participants (1)
-
Barry Smith