[petsc-dev] [petsc-maint] CUDA Version Compatibility
Barry Smith
bsmith at mcs.anl.gov
Fri Jul 19 14:15:08 CDT 2013
On Jul 19, 2013, at 2:11 PM, Satish Balay <balay at mcs.anl.gov> wrote:
> 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?
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
More information about the petsc-dev
mailing list