Latest IPP 2021.10 Build Issues
-
@aaronventure said in Latest IPP 2021.10 Build Issues:
This essentially breaks IPP usage on Windows for new users.
This seems to happen every few versions.
-
This is good to know information - I have been struggling to get IPP working on Windows. I found in old forum posts where someone made a ipp linker for old versions (Links no longer work) and I found where someone posted a dropbox (deadlink)and link to "Internet archive" (Link works https://archive.org/details/intel-ipp for the older 2020 version. I have a few things with the convo reverb I would love to see working in my DAW.
Windows 10, both tried in Develop current version and master. As new to HSIE jsut a few months I had the 2021.10.2 and tried the older 2020 ipp's i could find.
Context - i am able to export the fx plugin with out ipp enabled and I made with a switch to turn off the Convo reverb and you can hear sound when disabled and when enabled no sound. I thought maybe this was the audio files not being embedded at first as the PC I use to export sometimes work. but any other PC i bring to is no sound with the CR engaged
- it is correct IPP is needed when exporting on Windows for the CR to function?
- Does anyone have a link or copy of the IPP install that works? It would be grately appreciated.
- Is there a magic combination when compiling HISE with Projucer in either VS 2017 or 2022 that works?
Thank you again!!!
-
1: No, and if you're releasing a project under the GNU GPL you can use FFTW3 instead of IPP.
-
@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)...