Forgot to mention that configure found the following about MATLAB Matlab:
Includes: -I/Applications/MATLAB_R2019b.app/extern/include /Applications/MATLAB_R2019b.app MatlabEngine: Library: -L/Applications/MATLAB_R2019b.app/bin/maci64 -L/Applications/MATLAB_R2019b.app/extern/lib/maci64 -leng -lmex -lmx -lmat -lut -licudata -licui18n -licuuc On Tue, Jun 9, 2020 at 2:20 PM Amneet Bhalla <[email protected]> wrote: > Do these additional configure flags for MATLAB look OK? > > --with-matlab=1 --with-matlab-dir=/Applications/MATLAB_R2019b.app > --with-matlab-engine=1 > --with-matlab-engine-dir=/Applications/MATLAB_R2019b.app/extern/engines/ > > > > > With this configuration make compiled files like: > > > CC darwin-dbg/obj/sys/classes/viewer/impls/matlab/vmatlab.o > > CC > darwin-dbg/obj/sys/classes/viewer/impls/matlab/ftn-custom/zvmatlabf.o > > CC darwin-dbg/obj/sys/classes/matlabengine/matlab.o > > CC darwin-dbg/obj/sys/classes/matlabengine/ftn-auto/matlabf.o > > CC darwin-dbg/obj/sys/classes/matlabengine/ftn-custom/zmatlabf.o > > CC darwin-dbg/obj/vec/pf/impls/matlab/cmatlab.o > > CC darwin-dbg/obj/vec/vec/utils/matlab/gcreatev.o > > > make[2]: Leaving directory `/Users/amneetb/Softwares/PETSc-Gitlab/PETSc' > > BEGINNING TO COMPILE MATLAB INTERFACE > > Building with 'Xcode with Clang'. > > ld: warning: cannot export hidden symbol _mexfilerequiredapiversion from > c_mexapi_version.o > > > ld: warning: cannot export hidden symbol _mexfilerequiredapiversion from > c_mexapi_version.o > > > MEX completed successfully. > > Building with 'Xcode with Clang'. > > ld: warning: cannot export hidden symbol _mexfilerequiredapiversion from > c_mexapi_version.o > > > ld: warning: cannot export hidden symbol _mexfilerequiredapiversion from > c_mexapi_version.o > > > MEX completed successfully. > > Building with 'Xcode with Clang'. > > ld: warning: cannot export hidden symbol _mexfilerequiredapiversion from > c_mexapi_version.o > > > MEX completed successfully. > > Building with 'Xcode with Clang'. > > ld: warning: cannot export hidden symbol _mexfilerequiredapiversion from > c_mexapi_version.o > > > ld: warning: cannot export hidden symbol _mexfilerequiredapiversion from > c_mexapi_version.o > > > MEX completed successfully. > > > However, make check gives error > > > amneetb@Amneets-MBP:~/Softwares/PETSc-Gitlab/PETSc$ make > PETSC_DIR=/Users/amneetb/Softwares/PETSc-Gitlab/PETSc PETSC_ARCH=darwin-dbg > check > > Running test examples to verify correct installation > > Using PETSC_DIR=/Users/amneetb/Softwares/PETSc-Gitlab/PETSc and > PETSC_ARCH=darwin-dbg > > Possible error running C/C++ src/snes/examples/tutorials/ex19 with 1 MPI > process > > See http://www.mcs.anl.gov/petsc/documentation/faq.html > > dyld: Library not loaded: @rpath/libeng.dylib > > Referenced from: > /Users/amneetb/Softwares/PETSc-Gitlab/PETSc/src/snes/examples/tutorials/./ex19 > > Reason: image not found > > > > =================================================================================== > > = BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES > > = PID 14057 RUNNING AT Amneets-MBP > > = EXIT CODE: 6 > > = CLEANING UP REMAINING PROCESSES > > = YOU CAN IGNORE THE BELOW CLEANUP MESSAGES > > > =================================================================================== > > YOUR APPLICATION TERMINATED WITH THE EXIT STRING: Abort trap: 6 (signal 6) > > This typically refers to a problem with your application. > > Please see the FAQ page for debugging suggestions > > Possible error running C/C++ src/snes/examples/tutorials/ex19 with 2 MPI > processes > > See http://www.mcs.anl.gov/petsc/documentation/faq.html > > dyld: Library not loaded: @rpath/libeng.dylib > > Referenced from: > /Users/amneetb/Softwares/PETSc-Gitlab/PETSc/src/snes/examples/tutorials/./ex19 > > Reason: image not found > > dyld: Library not loaded: @rpath/libeng.dylib > > Referenced from: > /Users/amneetb/Softwares/PETSc-Gitlab/PETSc/src/snes/examples/tutorials/./ex19 > > Reason: image not found > > > > =================================================================================== > > = BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES > > = PID 14062 RUNNING AT Amneets-MBP > > = EXIT CODE: 6 > > = CLEANING UP REMAINING PROCESSES > > = YOU CAN IGNORE THE BELOW CLEANUP MESSAGES > > > =================================================================================== > > YOUR APPLICATION TERMINATED WITH THE EXIT STRING: Abort trap: 6 (signal 6) > > This typically refers to a problem with your application. > > Please see the FAQ page for debugging suggestions > > 1,5c1,17 > > < lid velocity = 0.0016, prandtl # = 1., grashof # = 1. > > < 0 SNES Function norm 0.0406612 > > < 1 SNES Function norm 4.12227e-06 > > < 2 SNES Function norm 6.098e-11 > > < Number of SNES iterations = 2 > > --- > > > dyld: Library not loaded: @rpath/libeng.dylib > > > Referenced from: > /Users/amneetb/Softwares/PETSc-Gitlab/PETSc/src/snes/examples/tutorials/./ex19 > > > Reason: image not found > > > dyld: Library not loaded: @rpath/libeng.dylib > > > Referenced from: > /Users/amneetb/Softwares/PETSc-Gitlab/PETSc/src/snes/examples/tutorials/./ex19 > > > Reason: image not found > > > > > > > =================================================================================== > > > = BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES > > > = PID 14072 RUNNING AT Amneets-MBP > > > = EXIT CODE: 6 > > > = CLEANING UP REMAINING PROCESSES > > > = YOU CAN IGNORE THE BELOW CLEANUP MESSAGES > > > > =================================================================================== > > > YOUR APPLICATION TERMINATED WITH THE EXIT STRING: Abort trap: 6 (signal > 6) > > > This typically refers to a problem with your application. > > > Please see the FAQ page for debugging suggestions > > /Users/amneetb/Softwares/PETSc-Gitlab/PETSc/src/snes/examples/tutorials > > Possible problem with ex19 running with hypre, diffs above > > ========================================= > > Possible error running Fortran example src/snes/examples/tutorials/ex5f > with 1 MPI process > > See http://www.mcs.anl.gov/petsc/documentation/faq.html > > dyld: Library not loaded: @rpath/libeng.dylib > > Referenced from: > /Users/amneetb/Softwares/PETSc-Gitlab/PETSc/src/snes/examples/tutorials/./ex5f > > Reason: image not found > > > > =================================================================================== > > = BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES > > = PID 14211 RUNNING AT Amneets-MBP > > = EXIT CODE: 6 > > = CLEANING UP REMAINING PROCESSES > > = YOU CAN IGNORE THE BELOW CLEANUP MESSAGES > > > =================================================================================== > > YOUR APPLICATION TERMINATED WITH THE EXIT STRING: Abort trap: 6 (signal 6) > > This typically refers to a problem with your application. > > Please see the FAQ page for debugging suggestions > > Completed test examples > > > I have added the following paths in my .profile and sourced it before make > all and make check > > export DYLD_FALLBACK_LIBRARY_PATH= > /Applications/MATLAB_R2019b.app/bin/maci64:/Applications/MATLAB_R2019b.app/sys/os/maci64: > $DYLD_FALLBACK_LIBRARY_PATH > > > export DYLD_LIBRARY_PATH= > /Applications/MATLAB_R2019b.app/bin/maci64:/Applications/MATLAB_R2019b.app/sys/os/maci64: > $DYLD_LIBRARY_PATH > > > > > On Mon, Jun 8, 2020 at 6:39 PM Barry Smith <[email protected]> wrote: > >> >> Looks like the tool to list the examples in the manual pages is broken >> since it didn't find these other examples, I'll take a look at it. >> >> There is also a discussion in the users manual >> >> $ git grep MatlabEngine | grep ex >> src/docs/tex/manual/part2.tex:PetscMatlabEngineCreate(MPI_Comm comm,char >> *machine,PetscMatlabEngine *e); >> src/docs/tex/manual/part2.tex:PetscMatlabEnginePut(PetscMatlabEngine >> e,PetscObject obj); >> src/docs/tex/manual/part2.tex:PetscMatlabEngineGet(PetscMatlabEngine >> e,PetscObject obj); >> src/docs/tex/manual/part2.tex:PetscMatlabEnginePutArray(PetscMatlabEngine >> e,int m,int n,PetscScalar *array,char *name); >> src/docs/tex/manual/part2.tex:PetscMatlabEngineGetArray(PetscMatlabEngine >> e,int m,int n,PetscScalar *array,char *name); >> >> src/docs/tex/manual/part2.tex:PetscMatlabEngineEvaluate(PetscMatlabEngine,"format",...); >> src/docs/tex/manual/part2.tex:PetscMatlabEngineEvaluate(PetscMatlabEngine,"x >> = \%g *y + z;",avalue); >> src/docs/tex/manual/part2.tex:PetscMatlabEngineGetOutput(PetscMatlabEngine,char >> **); >> >> src/docs/tex/manual/part2.tex:PetscMatlabEnginedPrintOutput(PetscMatlabEngine,FILE*). >> src/snes/tutorials/ex5.c: ierr = >> PetscMatlabEnginePut(PETSC_MATLAB_ENGINE_(comm),(PetscObject)localX);CHKERRQ(ierr); >> src/snes/tutorials/ex5.c: ierr = >> PetscMatlabEngineEvaluate(PETSC_MATLAB_ENGINE_(comm),"localF=ex5m(localX,%18.16e,%18.16e,%18.16e)",hx,hy,lambda);CHKERRQ(ierr); >> src/snes/tutorials/ex5.c: ierr = >> PetscMatlabEngineGet(PETSC_MATLAB_ENGINE_(comm),(PetscObject)localF);CHKERRQ(ierr); >> src/sys/tests/ex16.c:static char help[] = "Demonstrates >> PetscMatlabEngineXXX()\n"; >> src/sys/tests/ex16.c: ierr = >> PetscMatlabEngineGetOutput(PETSC_MATLAB_ENGINE_(PETSC_COMM_WORLD),&output);CHKERRQ(ierr); >> src/sys/tests/ex16.c: ierr = >> PetscMatlabEngineEvaluate(PETSC_MATLAB_ENGINE_(PETSC_COMM_WORLD),"MPI_Comm_rank");CHKERRQ(ierr); >> src/sys/tests/ex16.c: ierr = >> PetscMatlabEngineEvaluate(PETSC_MATLAB_ENGINE_(PETSC_COMM_WORLD),user);CHKERRQ(ierr); >> src/vec/vec/tests/ex31.c:static const char help[] = "Demonstrates >> PetscMatlabEngineXXX()\n"; >> src/vec/vec/tests/ex31.c: ierr = >> PetscMatlabEngineGetOutput(PETSC_MATLAB_ENGINE_WORLD,&output); >> src/vec/vec/tests/ex31.c: ierr = >> PetscMatlabEngineEvaluate(PETSC_MATLAB_ENGINE_WORLD,"MPI_Comm_rank"); >> src/vec/vec/tests/ex31.c: ierr = >> PetscMatlabEnginePut(PETSC_MATLAB_ENGINE_WORLD,(PetscObject)x);CHKERRQ(ierr); >> src/vec/vec/tests/ex31.c: ierr = >> PetscMatlabEngineEvaluate(PETSC_MATLAB_ENGINE_WORLD,"x = x + >> MPI_Comm_rank;\n"); >> src/vec/vec/tests/ex31.c: ierr = >> PetscMatlabEngineGet(PETSC_MATLAB_ENGINE_WORLD,(PetscObject)x);CHKERRQ(ierr); >> src/vec/vec/tests/ex31.c: ierr = >> PetscMatlabEngineEvaluate(PETSC_MATLAB_ENGINE_WORLD,"whos\n");CHKERRQ(ierr); >> >> On Jun 8, 2020, at 8:26 PM, Amneet Bhalla <[email protected]> wrote: >> >> Great! >> >> Clicking on some of the functions pointed me to this example >> https://www.mcs.anl.gov/petsc/petsc-3.13/src/snes/tutorials/ex5.c.html >> >> Are there more examples, which are perhaps simpler than the above, which >> I can refer to? >> >> On Mon, Jun 8, 2020 at 5:51 PM Barry Smith <[email protected]> wrote: >> >>> >>> You should use the PetscMatlabEngine >>> https://www.mcs.anl.gov/petsc/petsc-3.13/docs/manualpages/Sys/PetscMatlabEngine.html >>> >>> Barry >>> >>> >>> On Jun 8, 2020, at 7:09 PM, Amneet Bhalla <[email protected]> wrote: >>> >>> Hi Folks, >>> >>> My parallel application written in C++ (which also uses PETSc library >>> for linear solvers) requires calling control and optimization toolbox of >>> MATLAB at every time step to get a small number of double values. Likewise >>> the MATLAB function will need to know some values from the parallel C++ >>> application to return those doubles. I'm wondering if there is a >>> recommended way of calling MATLAB from parallel C/C++/Fortran codes, and if >>> PETSc has some interface that could be leveraged for this exchange. >>> >>> Thanks, >>> -- >>> --Amneet >>> >>> >>> >>> >>> >> >> -- >> --Amneet >> >> >> >> >> > > -- > --Amneet > > > > -- --Amneet
