-
Notifications
You must be signed in to change notification settings - Fork 847
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] Tape recording debug mode #2442
base: develop
Are you sure you want to change the base?
Conversation
…l write restart files during runtime (there is a bug, potentially when clearing the tape).
…zation.hpp (to cover RealReverseTag).
…his is a temporary change to avoid false positives when a tag tape is used. They might be unnecessary anyway though.
…te adjoint solver.
@@ -515,9 +536,9 @@ | |||
FORCEINLINE void SetPreaccIn(const T& data, const int size) { | |||
if (PreaccActive) { | |||
for (int i = 0; i < size; i++) { | |||
if (IsIdentifierActive(data[i])) { | |||
// if (IsIdentifierActive(data[i])) { |
Check notice
Code scanning / CodeQL
Commented-out code Note
PreaccHelper.addInput(data[i]); | ||
} | ||
// } |
Check notice
Code scanning / CodeQL
Commented-out code Note
@@ -527,9 +548,9 @@ | |||
if (!PreaccActive) return; | |||
for (int i = 0; i < size_x; i++) { | |||
for (int j = 0; j < size_y; j++) { | |||
if (IsIdentifierActive(data[i][j])) { | |||
// if (IsIdentifierActive(data[i][j])) { |
Check notice
Code scanning / CodeQL
Commented-out code Note
PreaccHelper.addInput(data[i][j]); | ||
} | ||
// } |
Check notice
Code scanning / CodeQL
Commented-out code Note
SetPreaccOut(moreData...); | ||
} | ||
|
||
template <class T> | ||
FORCEINLINE void SetPreaccOut(T&& data, const int size) { | ||
if (PreaccActive) { | ||
for (int i = 0; i < size; i++) { | ||
if (IsIdentifierActive(data[i])) { | ||
// if (IsIdentifierActive(data[i])) { |
Check notice
Code scanning / CodeQL
Commented-out code Note
PreaccHelper.addOutput(data[i]); | ||
} | ||
// } |
Check notice
Code scanning / CodeQL
Commented-out code Note
@@ -567,9 +589,9 @@ | |||
if (!PreaccActive) return; | |||
for (int i = 0; i < size_x; i++) { | |||
for (int j = 0; j < size_y; j++) { | |||
if (IsIdentifierActive(data[i][j])) { | |||
// if (IsIdentifierActive(data[i][j])) { |
Check notice
Code scanning / CodeQL
Commented-out code Note
PreaccHelper.addOutput(data[i][j]); | ||
} | ||
// } |
Check notice
Code scanning / CodeQL
Commented-out code Note
cout << " Objective function : " << ObjFunc; | ||
if (driver_config->GetWrt_AD_Statistics()){ | ||
cout << " (" << ObjFunc_Index << ")\n"; | ||
// cout << " (" << ObjFunc_Index << ")\n"; |
Check notice
Code scanning / CodeQL
Commented-out code Note
Proposed Changes
Add feature to record a tape for debug purposes (as a tool for AD / discrete adjoint / .. developers), using CoDiPack's
codi::RealReverseTag
.This is a (cleaned-up) continuation of #2343.
Related Work
Supposed to help finding remaining errors in #2317.
PR Checklist
Put an X by all that apply. You can fill this out after submitting the PR. If you have any questions, don't hesitate to ask! We want to help. These are a guide for you to know what the reviewers will be looking for in your contribution.
pre-commit run --all
to format old commits.