Latest IPP 2021.10 Build Issues
-
@d-healey Thank you!!! OK so know I do not need to use ipp for the CR to work? So this then leads me to think it is just the IR samples not embedding.
I have them in my audio files folder and i have checked the embed audio files in pref
I have two convolution reverbs each using only one ir sample and they are in the audio folder.
i also added this "Engine.loadAudioFilesIntoPool();" to the oninit
Dumb question time: Do i need to put anything in between the () and what would that look like to point to the audio file directory?
yes and I am releasing under GPL. I will look into FFTW3 I will research how to compile HISE with that.
-
@WaterSpoon said in Latest IPP 2021.10 Build Issues:
Do i need to put anything in between the () and what would that look like to point to the audio file directory?
No. I think you should make a new thread.
@WaterSpoon said in Latest IPP 2021.10 Build Issues:
I will look into FFTW3 I will research how to compile HISE with that.
I made a video about it, currently only available on Patreon - https://www.patreon.com/posts/how-to-use-fftw3-79166125.
-
@d-healey Will do!!! and love being a Patreon keep up the great work!!!
-
@d-healey said in Latest IPP 2021.10 Build Issues:
I made a video about it, currently only available on Patreon - https://www.patreon.com/posts/how-to-use-fftw3-79166125.
This Video was great and I was able to get it compiled with no issues. Last question. is there a Doc or video that explains how to export your FX Plugin and enable the FFTW or would this automatically be applied? I do not see a check box like the one to enable IIP.
-
@WaterSpoon All you need to do is add
AUDIOFFT_FFTW3=1
as a preprocessor definition in HISE preferences for each platform you're using FFTW3 on. -
@d-healey said in Latest IPP 2021.10 Build Issues:
thank you!!! To confirm...
-
@WaterSpoon Yeah
-
@d-healey Perfect. Thanks!!!
-
Alright folks, inspired by the latest post I went digging a bit more. And I figured it out. It's simpler than you think.
Open the projucer project, and in Visual Studio 2022 > Release (or Debug if you're compiling that one), find Header Search Paths and add
C:\Program Files (x86)\Intel\oneAPI\ipp\2021.11.0\include\ipp
or whatever your path is (the version might differ).Basically go into PF(x86)/Intel/OneAPI/ipp/version/include and make sure the path of the directory you're pasting is the one with all the header files as seen in my first post. From 2021.10 onwards, that's the ipp subfolder in the
/include/
directory.I downloaded the latest OneAPI, tried to build, it failed. I added the new directory to the header include paths and it builds successfully.
Funky should probably bake that in.
-
@aaronventure This seems promising, thank you so much for exploring and sharing this!!! When I can i am going to rebuild with this and check it out!!! Have you had any IPP errors when exporting?
-
@WaterSpoon I haven't checked but HISE builds successfully, I think that's about it? IPP isn't directly referenced when exporting VST but I may be wrong (because the convolution reverb is already compiled)
-
@aaronventure Awesome!!! I have a plugin design with 3 IR's I am still testing and am curious the difference in performance and CPU usage discussed here and in other forum posts about IPP and FFTW. That really it I guess. I look forward to trying your work around soon!!! If anything earth shattering happens trying it with different exports I will let ya know.
-
@WaterSpoon Nice! Let's us know about the performance differences as well!
-
@aaronventure Woohoo! This works, thank you!!
One thing: I tried exporting a plugin with IPP enabled and it failed, so I added this same path to the autogenerated Projucer file and compiled in VS. That appears to have worked fine! Takes a bit of extra time, but man am I relieved it works
-
@ally ah right. Exporting still requires pointing to HISE source, so the change needs to be made in juce_dsp.cpp.
If you double click on the error in VS2022 it'll take you to the offending lines. You can just add a direct path there.
As for everyone else, I'll leave it to Chris to fix it in a way that also doesn't break existing IPP installations, if such thing is possible.
While I don't think it's an issue to request everyone update to the latest IPP, changing the existing path for $IPPInclude or whatever its called will break reverting HISE to any commit before that as you cannot rollback IPP versions without buying the OneAPI premium license.
-
@aaronventure said in Latest IPP 2021.10 Build Issues:
so the change needs to be made in juce_dsp.cpp.
You should be able to add your extra paths to the HISE export project templates. These are what HISE uses to construct the .projucer files on export.
https://github.com/christophhart/HISE/blob/develop/hi_backend/backend/StandaloneProjectTemplate.cpp
https://github.com/christophhart/HISE/blob/develop/hi_backend/backend/ProjectTemplate.cpp
-
wow that's annoying but thanks for investigating this fun part of the software developer journey. The entire reason of existence of this thing called OneAPI is that you don't have to manually mess around with include files, so if we now hardcode an absolute path as header file (urgh on so many levels), it will break the next time they change their path structure because of bad weather.
I probably need to make a screenshot of my current IPP folder, then install the latest version and then try to make it work with both folder structures (somehow)...
-
@Christoph-Hart the only difference is that the includes are now in the /ipp/ subfolder. Maybe another macro like $IPPInclude has been added
-
@Christoph-Hart found the IPP standalone page on Intel's website, and guess what, the good folk of the internet have kept it thoroughly checked into the Wayback Machine over the past three years.
Here's the link to the IPP installer from last summer, as that's the one I know to be working without these shenannigans. At least until this gets sorted