> On Oct 26, 2019, at 9:09 AM, Jed Brown <j...@jedbrown.org> wrote:
> 
> "Smith, Barry F." <bsm...@mcs.anl.gov> writes:
> 
>>  The proposed fix is #if defined(PETSC_USE_AVX512_KERNELS)   && && && && && 
>> in https://gitlab.com/petsc/petsc/merge_requests/2213/diffs
> 
> Looks fine; approved.
> 
>> but note that PETSC_USE_AVX512_KERNELS does not even do a configure check to 
>> make sure it is valid. The user has to guess that passing that flag will 
>> work. Of course a proper configure test is needed and since a proper test is 
>> needed it can handle all the issues in one place instead of having one issue 
>> in  configure and n - 1 in the source code. 
> 
> What are "all the issues"?  32-bit indices, precision=double,
> scalar=real?  So we'll need 8 CPP macros that test each of those
> combinations?

   No, if suddenly there is support for single precision for example, the 
developer would modify the configure test to turn on PETSC_USE_AVX512_KERNELS 
for that additional  case and not touch the source code at all; 
> 
>>  This is a basic implementation disagreement, I hate CPP and think it should 
>> be used minimally, you hate configure and think it should be used minimally.

Reply via email to