File: src/c/cores/controltao_core.cpp:12
Code:
#if defined (_HAVE_TAO_) & !defined(_HAVE_CODIPACK_) // TODO: Handle for CoDiPack
The entire TAO (PETSc Toolkit for Advanced Optimisation) code path is compiled out when
CoDiPack is active. This means +ad builds are restricted to m1qn3 only and cannot access
TAO's L-BFGS, nonlinear CG, or trust-region methods.
Note also the use of & (bitwise AND) instead of && (logical AND) in the preprocessor
directive — while harmless here since both operands are 0/1, it should be && for clarity.
Impact: Medium — limits optimiser choice for all CoDiPack/AD users. TAO support should
be extended to work with CoDiPack's reverse-mode gradient output.
File: src/c/cores/controltao_core.cpp:12
Code:
The entire TAO (PETSc Toolkit for Advanced Optimisation) code path is compiled out when
CoDiPack is active. This means +ad builds are restricted to m1qn3 only and cannot access
TAO's L-BFGS, nonlinear CG, or trust-region methods.
Note also the use of & (bitwise AND) instead of && (logical AND) in the preprocessor
directive — while harmless here since both operands are 0/1, it should be && for clarity.
Impact: Medium — limits optimiser choice for all CoDiPack/AD users. TAO support should
be extended to work with CoDiPack's reverse-mode gradient output.