[ADOL-C] Problem with installing ADOL-C with OpenMP and using it

Théo Galy-Fajou theo.galyfajou at gmail.com
Sat Mar 5 06:19:20 EST 2016


First thanks a lot for your work on this fantastic library and the really
good documentation. I have a few questions about the use of ADOL-C combined
with OpenMP.

I am trying to use ADOL-C for a neural network for an auto-encoder, meaning
there are quickly a lot of parameters to deal with. To shorten the
computation time I wanted to parallelize the process as I am computing
batch of datapoints independently. However I am not sure if it is possible
since there is only one taping, can multiple thread access the same tape at
the same time? If not what would you suggest.

Anyway I tried to install ADOL-C with the OpenMP with the -fopenmp flag,
configuration was fine but when using make I got

In file included from tape_handling.cpp:15:0:

tape_handling.cpp: In constructor 'Keeper::Keeper()':

taping_p.h:372:47: error: 'ADOLC_threadNumber' was not declared in this

 #define ADOLC_GLOBAL_TAPE_VARS globalTapeVars[ADOLC_threadNumber]


tape_handling.cpp:1021:17: note: in expansion of macro

             if (ADOLC_GLOBAL_TAPE_VARS.initialStoreSize >


Makefile:618: recipe for target 'tape_handling.lo' failed

I solved it by declaring
right after the
                      inline Keeper()
But I am not sure this is the right solution (anyway it compiles).

Finally, I copied the example and included
                      #include <omp.h>
                      #include <adolc/adolc_openmp.h>
and added     #pragma omp parallel ADOLC_OPENMP
It compiles but when running I get :
                      Symbol lookup error : undefined symbol :
By the way I am using gcc for compiling and Code::Blocks for the IDE.

Thanks for your help!

Théo Galy-Fajou
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/adol-c/attachments/20160305/3f1559b7/attachment.html>

More information about the ADOL-C mailing list