[ADOL-C] Branch switch when using same inputs as taping
Noam Gat
noam.gat at mail.huji.ac.il
Mon Jun 20 08:35:32 EDT 2011
Hi,
I have a strange problem when using adol-c to create a gradient.
Before I try to prevent re-taping, I am currently retaping before each
gradient evaluation.
The general structure of the code is :
trace_on(0);
for (int i=0; i<N; i++)
{
rawGradParams[i] <<= X[i];
}
adouble result = objective(rawGradParams);
double retVal;
result >>= retVal;
trace_off(0);
int gradientRetVal = gradient(0,N,X,G);
And I get -1 as the retVal, with the error being
"ADOL-C Warning: Branch switch detected in comparison "
"(operator eq_zero).\n"
"Forward sweep aborted! Retaping
recommended!\n");
Seeing as retaping won't do anything, I don't know how to attack this
problem.
The code of the objective function is rather long and sadly I can't post it.
Does anyone have any general ideas on how to attack this problem?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://list.coin-or.org/pipermail/adol-c/attachments/20110620/e2690e41/attachment.html
More information about the ADOL-C
mailing list