You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am using Enzyme to do second-order differentiation of a cost function (first reverse, then forwards, for Newton's Method), but I am getting unexpectedly poor performance. I have a hunch that this is because no optimisation passes are run after the first derivative.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
I am using Enzyme to do second-order differentiation of a cost function (first reverse, then forwards, for Newton's Method), but I am getting unexpectedly poor performance. I have a hunch that this is because no optimisation passes are run after the first derivative.
The cost function is for kmeans clustering, and is here: https://github.com/gradbench/gradbench/blob/57ce3ea9cd053a352b1c229afe6db06400ac9f2c/cpp/gradbench/kmeans.h#L18-L35
The pertinent Enzyme parts: https://github.com/gradbench/gradbench/blob/57ce3ea9cd053a352b1c229afe6db06400ac9f2c/tools/enzyme/run_kmeans.cpp#L17-L47
I use Enzyme by passing
--load-pass-plugin
tolld
. My Makefile is here: https://github.com/gradbench/gradbench/blob/57ce3ea9cd053a352b1c229afe6db06400ac9f2c/tools/enzyme/MakefileThe pertinent compilation commands end up being the following:
Beta Was this translation helpful? Give feedback.
All reactions