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