Hi Satish,


On 03/15/2016 04:59 PM, Satish Balay wrote:
How about:

http://ftp.mcs.anl.gov/pub/petsc/nightlylogs/archive/2016/03/15/filtered-make_next_arch-freebsd-cxx-cmplx-pkgs-dbg_wii.log

/usr/home/balay/petsc.clone-3/src/vec/vec/utils/ftn-auto/vscatf.c: In function 
'void vecscatterinitializeforgpu_(VecScatter, Vec, ScatterMode*, int*)':
/usr/home/balay/petsc.clone-3/src/vec/vec/utils/ftn-auto/vscatf.c:100:33: 
error: 'VecScatterInitializeForGPU' was not declared in this scope
   (Vec)PetscToPointer((x) ),*mode);


For one - there is some inconsistancy in the definition of this function wrt 
interface vs impl.

I'm not sure what our policy here is . Always have this function
available in public API - or selectively have it enabled? Either way -
it should be consistant across sources (include, c-interface, 
fortran-interface).

I disabled the Fortran interface and fixed the function signature mismatch here:
https://bitbucket.org/petsc/petsc/commits/a614883e62f797ac619ffc772442ec50b9faedf0

Since the routine is only used for multi-GPU MatMult, not exposing a Fortran interface is not a problem. Thus, it's enough to just properly guard the functions with #if defined(...)

Thanks and best regards,
Karli

Reply via email to