[petsc-users] dyld: Symbol not found: _MatCreate_MPIAIJViennaCL

Satish Balay balay at mcs.anl.gov
Wed Apr 15 21:04:48 CDT 2020


On Thu, 16 Apr 2020, huabel via petsc-users wrote:

> 
> 
> > On Apr 16, 2020, at 06:31, Satish Balay <balay at mcs.anl.gov> wrote:
> > 
> > From prior e-mail - you wanted to use AMD GPU on OSX. This build below is CPU build - not for GPU. [Karl can confirm]
> > 
> > I think OSX has OpenCL installed by default [perhaps via xcode?] - so you might just need the additional configure option: --with-opencl=1
> > 
> I tried to remove “--with-viennacl=1 --with-viennacl-dir=“, just use “--with-opencl=1”, that good for build petsc and examples, but when I run "./examples -h “ there is no message about OpenCL or ViennaCL, so my how can I know it used OpenCL (GPU)?


PETSc does not directly use opencl. Its needed for viennacl. So if you remove viennacl from petsc build - then sure - there won't be any viennacl or opencl messages.

If you have a build of petsc with viennacl+opencl - you can try running examples with viennacl (manually).

$ git grep requires: |grep viennacl
src/ksp/ksp/tests/ex43.c:      requires: viennacl datafilespath double !complex !define(PETSC_USE_64BIT_INDICES)
src/ksp/ksp/tests/ex43.c:      requires: viennacl datafilespath double !complex !define(PETSC_USE_64BIT_INDICES)
src/ksp/ksp/tutorials/ex59.c:     requires: viennacl
src/ksp/ksp/tutorials/ex7.c:      requires: viennacl
src/ksp/ksp/tutorials/ex7.c:      requires: viennacl
src/ksp/ksp/tutorials/ex71.c:   requires: mumps cuda viennacl
src/ksp/ksp/tutorials/ex71.c:   requires: mumps cuda viennacl
src/ksp/ksp/tutorials/ex71.c:   requires: mkl_pardiso cuda viennacl
src/ksp/ksp/tutorials/ex71.c:     requires: viennacl
src/ksp/ksp/tutorials/ex72.c:      requires: viennacl
src/mat/tests/ex1.c:     requires: cuda viennacl
src/mat/tests/ex204.c:      requires: viennacl
src/mat/tests/ex23.c:        requires: viennacl
src/mat/tests/ex301.c:      requires: viennacl
src/mat/tests/ex301.c:      requires: viennacl
src/snes/tutorials/ex12.c:      requires: !single viennacl
src/snes/tutorials/ex69.c:      requires: viennacl
src/snes/tutorials/ex69.c:      requires: viennacl
src/snes/tutorials/ex69.c:      requires: viennacl
src/vec/vec/tests/ex22.c:        requires: viennacl
src/vec/vec/tests/ex23.c:        requires: viennacl
src/vec/vec/tests/ex24.c:        requires: viennacl
src/vec/vec/tests/ex34.c:        requires: viennacl
src/vec/vec/tests/ex38.c:        requires: viennacl

You can check some of the above examples - or run 'make alltests' [or its variants - 'make -j2 test'] that run all tests including viennacl tests.

Satish


More information about the petsc-users mailing list