ARM/Intel Universal Binary... how?
-
I've got my M1 mac mini up and running with:
HISE - New layout
Xcode 13
IPP 2021.4.0I'm able to compile ARM64 / ARM64e binaries with IPP disabled, and I can compile x86_64 binaries with IPP enabled... but I'm unable to compile a universal binary with IPP turned on.
Here's the error I'm seeing:
⚠️ ld: ignoring file /opt/intel/ipp/lib/libippi.a, building for macOS-arm64 but attempting to link with file built for unknown-x86_64 ⚠️ ld: ignoring file /opt/intel/ipp/lib/libipps.a, building for macOS-arm64 but attempting to link with file built for unknown-x86_64 ⚠️ ld: ignoring file /opt/intel/ipp/lib/libippvm.a, building for macOS-arm64 but attempting to link with file built for unknown-x86_64 ⚠️ ld: ignoring file /opt/intel/ipp/lib/libippcore.a, building for macOS-arm64 but attempting to link with file built for unknown-x86_64 ❌ Undefined symbols for architecture arm64 > Symbol: _ippsFree > Referenced from: hise::PostGraphicsRenderer::Data::~Data() in lto.o ❌ ld: symbol(s) not found for architecture arm64
Is it trying to link IPP to all binaries instead of only x64?
-
I'm guessing you need to install an ARM version of IPP.
-
from what I've read online:
Some parts of Intel libraries have no equivalent on MacOS M1 - and Intel has stated they will not be "ported" since they are optimized for Intel CPUs.
-
Yeah you don‘t need IPP on M1s anyway, the apple stuff is fast enough.
-
@Christoph-Hart said in ARM/Intel Universal Binary... how?:
you don‘t need IPP on M1s anyway,
agreed... but I'm trying to create a Universal Binary on my M1 that can utilize IPP on x64 intel processors
-
@dustbro You'll have to create a separate binary for Intel (presumably on an Intel machine) or live without IPP.
-
@Christoph-Hart said in ARM/Intel Universal Binary... how?:
the apple stuff is fast enough
Maybe not? Checking out the ARM compiled plugin with a convolution plugin is giving me warnings in debug mode.
### PerformanceWarning -Time: **0.70** /CallbackIndex: **60** -Location: 'Convolution::ConvolutionRendering' -Voice Amount: **0** -Limit: '10.0%' Avg: '2.07%', Peak: '11.0%'
-
How big is the IR?
-
@Christoph-Hart 1.7mb
-
Hmm, that's reasonable. Are you actually hitting dropouts? because the debug log warnings are very verbose and a occasional peak of 10% CPU usage isn't too critical.
-
@Christoph-Hart good question. Gonna do more testing today
-
So it is impossible to make an IPP enabled universal binary (both for M1 & Intel) with a M1 mac, right?
But we can do that with an intel mac?
-
@orange I'm not sure. I gotta fire up my Intel Mac and see what's up. Also ran into some weirdness with Packages on my M1 so it looks like I gotta make my installers with the intel mac as well.
-
@dustbro It's interesting that VST3 files (turns into folders) can be a problem with Packages in M1 macs.
-
@dustbro Have you checked M1 universal binary inside the Intel mac?
Is develop branch successful for M1?
-
@orange said in ARM/Intel Universal Binary... how?:
Have you checked M1 universal binary inside the Intel mac?
Is develop branch successful for M1?I haven't yet. I'll probably be ready to do more testing in about a week.
-
I hope we will soon be able to use XCode 12.2 to 12.4 from non OS11 compatible machines, so we can export Universal Binaries from Intel.
Otherwise, the only solution would be to buy an OS11 computer (with or without M1, but you know how it is...) -
@dustbro hey, which new_layout commit you use because I can't force my setup to even compile app
-
@arminh the one from about 10 days ago
-
@dustbro I'm out of ideas ...
I tried compile this commit
https://github.com/christophhart/HISE/tree/27a94f3e11615fcfa793a9ec58ac531a75de5c7f
But I'm getting a lot of issues