NeuralAmpModelerPlugin icon indicating copy to clipboard operation
NeuralAmpModelerPlugin copied to clipboard

[FEATURE] Support Clang compilation

Open mikeoliphant opened this issue 2 years ago • 6 comments

My testing indicates that compiling with Clang gives a noticeable (on the order of 10%) speed improvement - likely because it optimizes the Eigen matrix code a bit better than the VS compiler.

It probably makes sense not to switch the VS project to Clang, since it will make it harder for people to compile out-of-the-box (most people won't have Clang installed). I think it can be specified in the release build process, though.

The only issues I encountered with building the plugin with Clang were a couple of minor iPlug2 things that seem to have already been fixed - but in a later version of iPlug2 than the fork the plugin is currently using.

mikeoliphant avatar Apr 26 '23 16:04 mikeoliphant

I am not sure why NAM is using a non-fork fork of iPlug2 :)

olilarkin avatar Apr 26 '23 17:04 olilarkin

I think this can be closed since the repo now tracks the iPlug2 repo, where https://github.com/iPlug2/iPlug2/commit/dbdf118fc8273eba0241ffe90202e415de4968a4 is merged

olilarkin avatar May 06 '23 09:05 olilarkin

I think this can be closed since the repo now tracks the iPlug2 repo, where iPlug2/iPlug2@dbdf118 is merged

That should hopefully enable clang support, but we still don't actually use it. If it has a significant performance impact (as it seems to), we should consider using it for the build.

mikeoliphant avatar May 06 '23 14:05 mikeoliphant

i think this can be closed now?

olilarkin avatar Jul 03 '23 05:07 olilarkin

@sdatkinson Can you re-open this?

I think it is worth looking into having an official clang build. Recent experiments with clang on the LV2 plugin are showing around a 30% performance improvement for standard WaveNet models:

https://github.com/mikeoliphant/neural-amp-modeler-lv2/discussions/51

mikeoliphant avatar Oct 21 '23 15:10 mikeoliphant

PR here that gets a start on this: https://github.com/sdatkinson/NeuralAmpModelerPlugin/pull/383

mikeoliphant avatar Oct 23 '23 20:10 mikeoliphant