Author Topic: Port code from Linux to FreeBSD, from x86_64 to ARMv8  (Read 69 times)

0 Members and 1 Guest are viewing this topic.

Offline juanpc2018

  • Newbie
  • *
  • Posts: 4
  • Karma: +0/-0
  • AVLinux User
Port code from Linux to FreeBSD, from x86_64 to ARMv8
« on: August 10, 2018, 04:40:34 PM »
As the title says....

i think AVLinux should port/move the code / recompile, from Linux to FreeBSD...
and
from x86_64 to ARMv8 "ARM64"

the reasons?
#1. Linux is Not a True Unix, FreeBSD comes from a direct 1:1 code comparison of a Licenced UNIX to Berkley, up to version4 was exactly Unix.
#2. FreeBSD has ARM64 CPU support. Porting x86_64 to ARM would be easy...

but why port to ARM64 CPU?

there were Microsoft Surface Tablets 1 & 2 Non Pro, that had Nvidia ARM 32-Bit CPU "ARMv7", but those cannot be upgraded to 64-Bit, HW limitation...
last year Microsoft released Windows10 Pro for ARM CPU´s,
and HP Envy X2, Asus NovaGO & LEnovo Miix630 developed laptops around Qualcomm SnapDragon 835 8-Core ARMv8 CPU, 64-Bit.
also in the server area there are companies making ARMv8 "64-Bit" CPU´s, Cavio Thunder X & Thunder X2 the most popular, with Gigabyte Motherboards...

All OS are Not True MultiTask,
the 1st ARM OS RISC OS, that still works today, with Titanium ARM Cortex A15 "32-Bit" CPU´s or Windows Emulators... were a CMT OS,
that means there are No interruptions, and only can use 1-core...

Newer OS Fake MultiTasking by making lots of very fast interruptions, but that increases latency...
and latency is the Enemy, specially for Audio...

since ARM CPU´s are Reduced Instructions, they have 2 characteristics x86_64 architecture will never have...

Low Power, and Low Latency...
for example: to solve the Spectre & Meldown, a Firmware update was needed, the New security Update increased latency...

Latency will increase to a point, that the most powerful CPU will become useless.

as you can see here:
the most powerful dual AMD EPYC 7601 CPU´s in the world $12k usd. 64-Cores/128-Threads cannot run Windows Apps in RealTime Priority...
https://youtu.be/sTVyE37uglc

does Not matter how much "improved" the Kernel is, if has interruptions will increase latency...
the Only way to have Real Time Multitask with Near 0-Latency, is to have 4096-cores and No interruptions in the OS. or very low interruptions.
that is impossible with x86_64 power hungry very complex architecture...
but it is possible with the low power, low latency ARM64 RISC architecture...

thats why, the Next Generation Audio Software must be ported to ARM64.

The 1st Generation Server ThunderX1 ARM64 CPU´s are not as impressive as the 2nd Gen X2 Thunder CPU´s but... when X2 hits the market, X1 prices will fall.
https://youtu.be/-cp6YIqrFyQ

The Qualcomm SnapDragon Laptops with Windows 10 WoA,
are a bit pricey... ~$800usd.
and performance compared vs. intel is "dissapointing" because its a 8-core CPU...
and is is emulating when running x86_64 Apps.

Some Links:
https://en.wikipedia.org/wiki/Wirth%27s_law
https://en.wikipedia.org/wiki/Andy_and_Bill%27s_law
https://en.wikipedia.org/wiki/Amdahl%27s_law
https://en.wikipedia.org/wiki/Grosch%27s_law
https://en.wikipedia.org/wiki/Gustafson%27s_law
https://www.servethehome.com/gigabyte-r120-t30-overview-first-cavium-thunderx-system/
https://cavium.com/product-thunderx2-arm-processors.html
8:50 - https://b2b.gigabyte.com/ARM-Server/Cavium-ThunderX
https://www.phoenicselectronics.com/
« Last Edit: August 10, 2018, 04:46:47 PM by juanpc2018 »

Offline juanpc2018

  • Newbie
  • *
  • Posts: 4
  • Karma: +0/-0
  • AVLinux User
Re: Port code from Linux to FreeBSD, from x86_64 to ARMv8
« Reply #1 on: August 12, 2018, 03:28:37 PM »
Another option, is the Intel Xeon Phi, "72-Intel Atom Cores-in-1 CPU"

but... the problem is that some plugins / most plugins are Serial Code, Not parallel code...
Softube Modular Synth,
pspaudioware.com E27 EQ
Waves Pianos & Synths
etc...

many plugins are coded to use the CPU in series, Not in parallel, so it does Not matter if you have 1024-cores...
if 1-core is Not enough powerful, it will Not Run...

https://en.wikipedia.org/wiki/Xeon_Phi#Knights_Landing
https://www.servethehome.com/intel-xeon-phi-x200-knights-landing-boots-windows/
https://www.servethehome.com/intel-xeon-phi-x200-series-knights-landing-and-freebsd/
https://www.servethehome.com/supermicro-sys-5038k-i-es1-intel-xeon-phi-x200-developer-workstation-review/

https://www.servethehome.com/intel-xeon-phi-x205-series-knights-mill-launched/
https://www.servethehome.com/intel-knights-mill-for-machine-learning/

Offline juanpc2018

  • Newbie
  • *
  • Posts: 4
  • Karma: +0/-0
  • AVLinux User
Re: Port code from Linux to FreeBSD, from x86_64 to ARMv8
« Reply #2 on: August 12, 2018, 03:48:12 PM »
thats the #1 problem of AAX64, and the reason why so many people use ViennaEnsemblePro6 to use VST´s inside ProTools12.

VEP6 is a Professional/Refined Version of VSTHost, some menus are very similar, but VEP6 is much more advanced, sadly does Not load RTAS to AAX.

Anyway... there is something else wrong with x86_64
apart from the OS HW Interruptions to Fake MultiTask, the High Power Consumption, and the 1-core CPU hungry Software...
something else, i just cant figure it out...

Offline juanpc2018

  • Newbie
  • *
  • Posts: 4
  • Karma: +0/-0
  • AVLinux User
Re: Port code from Linux to FreeBSD, from x86_64 to ARMv8
« Reply #3 on: August 12, 2018, 04:05:13 PM »
thats the #1 problem of AAX64, and the reason why so many people use ViennaEnsemblePro6 to use VST´s inside ProTools12.

VEP6 is the Professional/Refined Version of VSTHost, some menus are very similar, but VEP6 is much more advanced, sadly does Not load RTAS to AAX.

Anyway... there is something else wrong with x86_64
apart from the OS HW Interruptions to Fake Multitask, the High Power Consumption, and the 1-core CPU hungry Software...
something else, i just cant figure it out...

I cannot EDIT.... times out too fast.-----------------------------

the things i dont like about "Unix Philosophy" specially Apple OSX, Pregrammed Obsolecense, is that New Drives, or New Libraries, Need a New OS, and a New OS needs New Software, its like a Paradox.
what i like about Windows Philosophy is that is more compatible with it self...
in OSX the Unix Philosophy is take´d to the extreme, the absurd levels,

for example the Photography Software, PhaseOne Phocus, or Opera Browser, or FireFox Browser, must be recompiled every time when a "New" OSX is launched,
10.6, 1.7, 10.8, 10.9, 10.10, 10.11, 10.12, are like complete different incompatible Operating Systems that look exactly the same. LOL. Jajajajaja

similar happens with Linux, GPU drivers & Kernel, and some Libraries, but Not as Extreme...

OSX, PlayStation4, & FreeBSD are Brothers of the same Mother "Unix" but with different Fathers... for x86_64
Linux is the Bastar Child...

iOS is OSX ported for ARM CPU´s iOS10 was 32-Bit, 11 is 64-Bit, requires 64Bit HW, old HW cannot be upgraded... for example iPad4. 
Android is Google Linux version ported to ARM CPU´s.

WindowsRT was ported for ARM32 CPU´s
New Windows10ProS is for ARM64 CPU´s.

RISC OS is a completely different OS, the 1st for ARM CPU´s

macOS was Licensed Unix for Motorola CPU´s at the beggining, when Apple decided to develop their own CPUs with the help of IBM, the AIM CPU´s PowerPC G5 the last, Apple-Ibm-Motorola era.
Amiga OS was a completely different OS also for Motorola CPU´s, faster with the same CPU.
« Last Edit: August 12, 2018, 04:10:26 PM by juanpc2018 »