Cant build with IPP, but I could the last 2 yrs.
-
I decided to update to a newer commit last week but I cant seen to build the solution.
Only with the IPP settings off it will build correctly, but I've have the IPP installed on my computer for about 2 yrs now and I never had this issue...
Has anything changed from early September (the current build I'm on) till now that I'm missing?
I'm on Windows.
-
-
@BWSounds said in Cant build with IPP, but I could the last 2 yrs.:
Only with the IPP settings off it will build correctly, but I've have the IPP installed on my computer for about 2 yrs now and I never had this issue...
The IPP libraries are strange, they are deprecated every 2-3 years. The recommendations for installations and support are very narrow for me as a macOS user. As an example the IPP 2019 version only supports certain macOS versions, like 10.13-10.14, 2020 version only supports 10.14-10.15 and things like that. Check the OS support carefully before installing the IPP version, or any upgrade. Intel also hides any version they consider too old. Sucks, was a lot of hoops for me last time.
The shift to C++ 17 caught me by surprise recently, perhaps that has some issue in older versions of IPP.
-
@andioak Don't use IPP on Mac, there is no need for it.
-
@d-healey said in Cant build with IPP, but I could the last 2 yrs.:
@andioak Don't use IPP on Mac, there is no need for it.
Why? There was a need for it before due to the Hise compressed audio and some other stuff. Did that need go away?
-
Did that need go away?
Yes :)
You don't "need" it on any OS but on Windows it will provide faster FFT routines. If you're releasing a plugin under the GNU/GPL I recommend you use FFTW3 instead.
-
-
@andioak IPP is proprietary so (I assume) is incompatible with GNU GPL. You can also use it with AMD CPUs. FFTW3 is about equal with IPP (there are some old benchmarks on the FFTW3 site) but it varies, sometimes IPP is faster, sometimes FFTW is, it depends on the exact workload.
-
@d-healey Ok, thanks for the info.
Is there a way to get that into the main (master branch) md doc, you think? That would definitely be a thing to know ahead of building your first setup and definitely your first plugin. (assuming it is correct that it does not marry with a GNU license, that is :) )
-
Is there a way to get that into the main (master branch)
Make a pull request :)
Setting up FFTW3 on Windows is more complicated than IPP :D
-
@d-healey said in Cant build with IPP, but I could the last 2 yrs.:
Setting up FFTW3 on Windows is more complicated than IPP :D
If the licenses do not marry, it does not matter, you could not use IPP anyway. If a license of IPP does not work to deliver a software or plugin with GNU end licenses, then why is it included in HISE?
-
@andioak IPP isn't included with HISE.
I just read that the GNU GPL contains some kind of linking exception. So perhaps that can apply to using the IPP with a GNU GPL plugin. Still I would avoid including any proprietary components in a free software app.
-
@d-healey said in Cant build with IPP, but I could the last 2 yrs.:
@andioak IPP isn't included with HISE.
Dough! Haha, no it isn´t included, you're right. IPP is just implied as a somewhat good performance enhancement addition.
Okay, I found few examples of (to me less understandable) comparisons of IPP vs FFT3W, but this one of the KissFFT and FFTW3 has some single-precision bumps of around 2-7x the speed:
http://www.fftw.org/speed/CoreDuo-3.0GHz-icc64/
I just read that the GNU GPL contains some kind of linking exception. So perhaps that can apply to using the IPP with a GNU GPL plugin.
I would worry about the opposite order here, the IPP license's reservations to be delivered within the GNU GPL. But of course, GPL-v3 is nasty in its allowances of differences in open:ness, so perhaps your worry is more warranted.
Still I would avoid including any proprietary components in a free software app.
I agree entirely.
-
@BWSounds did you solve this? Having the same issue
-
@DanH I think I've updated the IPP integration to the recent version (it's now using something called OneAPI), but this might not work with older IPP versions. Try updating IPP and see if it helps.
Unfortunately you can't download older IPP versions, so I have to stay at the latest versions with HISE.
Oh and if you reinstall IPP make sure to enable the VisualStudio integration for all VS versions you have on your system, this is required for it to compile.
-
@Christoph-Hart ah ok, will give it a bash, thanks
-
@DanH I show the oneAPI install in this video
-
@d-healey thanks :)
-
@d-healey alrighty, followed the vid step by step, cleaned the Hise builds folder, tried to build Release and it can't find the ipp.h file now... Any ideas?
I never uninstalled the old ipp - I don't know if that makes any difference.
1>c:\users\admin\desktop\hise-develop\hi_streaming\hi_streaming.h(77): fatal error C1083: Cannot open include file: 'ipp.h': No such file or directory (compiling source file ..\..\JuceLibraryCode\include_hi_streaming.cpp)
-
@DanH Did you select the oneAPI thingy in projucer?