Could it error if the input starts with PETS_ to prevent inadvertent mistakes 
hanging around for years?


> On Oct 15, 2020, at 10:39 PM, Jed Brown <[email protected]> wrote:
> 
> Mark Adams <[email protected]> writes:
> 
>> I have:
>> 
>> #if defined(PETSC_HAVE_CUDA)
>>  ierr = PetscInfo3(pc,"PETSC_HAVE_CUDA ---------------------Test:
>> factor=%D. cuda=%D
>> level=%D\n",pc_gamg->level_reduction_factors[pc_gamg->current_level],
>> *PetscDefined(PETSC_HAVE_CUDA)*,pc_gamg->current_level);CHKERRQ(ierr);
>> #endif
>> 
>> and see:
>> 
>> [0] PCGAMGCreateLevel_GAMG(): PETSC_HAVE_CUDA ---------------------Test:
>> factor=2.* cuda=0* level=0
>> 
>> So PETSC_HAVE_CUDA is defined yet PetscDefined(PETSC_HAVE_CUDA) is 0. Am I
>> missing something?
> 
> The syntax is PetscDefined(HAVE_CUDA).  This is explained by way of example 
> in the man page, but perhaps it should be explicitly repeated.
> 
> https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Sys/PetscDefined.html

Reply via email to