Fóra

Dátová veda (R a SPSS 26 atď.) pod Rosetta 2 / Apple silicon M1?

ja

isvan60

Pôvodný plagát
17. novembra 2020
  • 17. novembra 2020
Viem, že existuje veľa príspevkov s benchmarkmi a testami, či daný softvér funguje, ale rád by som toto vlákno venoval aplikáciám pre dátovú vedu, napr. R, RStudio, SPSS, Python (viem, že to bude fungovať natívne), QGIS a doplnkový softvér, ktorý výskumníci používajú na vytváranie ilustrácií ako napr. CorelDraw, Gimp....

Skúšal niekto z vás R alebo SPSS na novom Macbooku M1, v Rosetta 2 funguje ktorýkoľvek z nich dobre (rýchlejšie / pomalšie / nefungujú vôbec), pretože predpokladám, že žiadny zatiaľ nemá natívnu verziu ARM. Alebo skúšal niekto aj CorelDraw?

Neváhajte uverejňovať nové otázky a odpovede, ale zamerajte sa na aplikácie pre vedu o údajoch.

Tu sú užitočné diskusie súvisiace s témou

GitHub - ThatGuySam/doesitarm: 🦾 Zoznam nahlásenej podpory aplikácií pre Apple Silicon a nové počítače Apple M1 Mac

🦾 Zoznam nahlásenej podpory aplikácií pre Apple Silicon a nové Macy Apple M1 – GitHub – ThatGuySam/doesitarm: 🦾 Zoznam nahlásenej podpory aplikácií pre Apple Silicon a nové Macy Apple M1 github.com

Podporuje M1 MacBook pro 13 dáta s... - Apple Community

diskusie.apple.com

Bude R pracovať na Apple Silicon? - Blog R

developer.r-project.org

Data science (R a SPSS 26) pod Rosetta 2 / Apple silicon M1?

Ahojte všetci, skúšal niekto z vás R alebo SPSS pod novým M1 Macbookom, či funguje jedno z nich dobre pod Rosetta 2 (rýchlejšie / pomalšie / nefungujú vôbec), pretože predpokladám, že žiadny nemá natívny ARM... www.researchgate.net
ale zatiaľ žiadne odpovede....
reakcie:Mbrum TO

agibb

17. októbra 2004
  • 18. novembra 2020
Podľa toto článok na Reg, R čaká na Fortran Compiler predtým, ako bude fungovať na Apple Silicon. Jazyk Julia sleduje svoju prácu na prenose tu.
reakcie:pldelisle ja

isvan60

Pôvodný plagát
17. novembra 2020


  • 18. novembra 2020
Ahoj!
Natívny kompilátor Fortran pre kremík Apple je vonku.
https://www.nag.com/news/first-fortran-compiler-apple-silicon-macs

Bolo by však veľmi pekné vidieť testy fungovania R pod Rosetta 2
reakcie:pldelisle ja

isvan60

Pôvodný plagát
17. novembra 2020
  • 29. novembra 2020
leman povedal: R mi pod Rosettou skvele funguje. Podarilo sa mi to postaviť aj natívne, ale niektoré balíčky sú zablokované (najmä geovedné veci).




Komerčná dostupnosť kompilátora skutočne nepomáha. Potrebujeme gcc (doteraz sa nikto neobťažoval to portovať, pretože bol malý záujem spustiť to na iOS) alebo Flang (čo bude ešte trvať najmenej pol roka). Predbežné verzie gcc sú však dostupné a zdá sa, že fungujú dostatočne dobre.
To rád počujem! A všimli ste si nejakú zmenu vo výkone? Zvyčajne používam skripty s nedostatkom pamäte RAM a veľa iterácií, takže rýchlosť spracovania a manipulácia s pamäťou RAM sú problémom. Mám pochybnosti o výkone pod Rosetta2....

Nejaký názor na to? THE

leman

14. októbra 2008
  • 29. novembra 2020
istvan60 povedal: To rád počujem! A všimli ste si nejakú zmenu vo výkone? Zvyčajne používam skripty s nedostatkom pamäte RAM a veľa iterácií, takže rýchlosť spracovania a manipulácia s pamäťou RAM sú problémom. Mám pochybnosti o výkone pod Rosetta2....

Nejaký názor na to?

R na M1 pod Rosettou je rýchlejšie ako R na mojom 16' MBP. Ale predpokladám, že to bude závisieť od toho, čo urobíte. Netestoval som to za okolností, ktoré si budú vyžadovať veľmi veľké množstvo pamäte RAM. Ak máte nejaké testy alebo skripty, ktoré chcete vyskúšať, rád to urobím, stačí mi napísať správu. ja

isvan60

Pôvodný plagát
17. novembra 2020
  • 30. novembra 2020
Zobraziť mediálnu položku ' data-single-image='1'>
Pod:
R verzia 4.0.3 (2020-10-10)
Platforma: x86_64-apple-darwin17.0 (64-bit)


install.packages('benchmarkme')
install.packages('benchmarkmeData')
knižnica (benchmarkme)

get_cpu()
#'CPU Intel(R) Core(TM) i5-7360U @ 2,30 GHz'

get_ram()
# 17,2 GB

res = benchmark_std()

# Programovacie benchmarky (5 testov):
Výpočet 3 500 000 Fibonacciho čísel (vektorový výpočet): 0,263 (s).
Veľké spoločné deliče 1 000 000 párov (rekurzia): 0,682 (s).
Vytvorenie Hilbertovej matice 3 500 x 3 500 (matica calc): 0,338 (s).
Vytvorenie matice Toeplitz 3 000 x 3 000 (slučky): 1,17 (s).
Escoufiersova metóda na matrici 60 x 60 (zmiešaná): 1,21 (s).

# Benchmarky výpočtu matice (5 testov):
Vytvorenie, transp., deformácia matrice 5 000 x 5 000: 0,629 (s).
2 500 x 2 500 normálne rozložená náhodná matica^1 000: 0,149 (s).
Triedenie 7 000 000 náhodných hodnôt: 0,706 (sek.).
2 500 x 2 500 krížová matica produktov (b = a' * a): 10,8 (s).
Lineárny regr. cez maticu 5 000 x 500 (c = a b'): 0,837 (s).

# Testy funkcie Matrix (5 testov):
Choleského rozklad matice 3 000 x 3 000: 5,47 (s).
Determinant náhodnej matice 2 500 x 2 500: 6,64 (s).
Vlastné hodnoty náhodnej matice 640 x 640: 0,916 (s).
FFT nad 2 500 000 náhodných hodnôt: 0,322 (s).
Inverzná k náhodnej matici 1 600 x 1 600: 5,4 (s).

upload_results(res)
Vytvára sa dočasný súbor
Získavanie špecifikácií systému. Na počítačoch Mac to môže chvíľu trvať
Nahrávajú sa výsledky
Nahrávanie je dokončené
ID sledovania: 2020-11-29-22273922
[1] '2020-11-29-22273922'

pozemok (res)
Ste na 183. mieste zo 749 strojov.
Stlačením klávesu return získate ďalší graf
Ste na 467. mieste zo 747 strojov.
Stlačením klávesu return získate ďalší graf
Ste na 660. mieste zo 747 strojov.

Zobraziť mediálnu položku ' data-single-image='1'>
Zobraziť mediálnu položku ' data-single-image='1'>
Zobraziť mediálnu položku ' data-single-image='1'>


Som naozaj zvedavá, ako dopadne ten váš.

Prílohy

  • Zobraziť mediálnu položku ' href='tmp/attachments/1606725365392-png.1683205/' > 1606725365392.png'file-meta'> 41,8 KB · Zobrazenia: 96
THE

leman

14. októbra 2008
  • 30. novembra 2020
Tu sú výsledky bežiace pod natívnym R

Kód: |_+_|
Mám pocit, že maticové operácie potrebujú trochu viac optimalizácie. Som si istý, že môžu ísť rýchlejšie.

Prílohy

  • m1-native-r.pdf246,2 KB · Zobrazenia: 290
THE

leman

14. októbra 2008
  • 30. novembra 2020
P.S. A tu sú výsledky bežiace pod Rosettou. Zdá sa, že Rosetta má nejaké problémy s interpretom R (neprekvapuje ma), takže ak sa spoliehate na veľa algoritmov implementovaných v čistom R, môžete naraziť na problémy. Nemyslím si však, že je to bežný scenár.

Ďalším postrehom je, že niektoré maticové operácie bežia rýchlejšie pod Rosettou ako natívne. Špekuloval by som, že je to preto, že kódovací kód Intel vydáva kód SIMD, zatiaľ čo ARM nie. Je to buď problém so skorým portom fortran, alebo možno je zdroj optimalizovaný pre Intel, ale nie pre ARM. Som si istý, že keď sa to vyrieši, mali by sme dostať zdravú podporu aj natívne.

Kód: |_+_| THE

LaskaD

2. januára 2021
  • 2. januára 2021
leman, ďakujem veľmi pekne za správu.

Používate R nakonfigurované na spustenie referenčných knižníc lineárnej algebry BLAS/LAPACK? Oveľa rýchlejšie maticové operácie sú možné prepnutím na knižnice z akceleračného rámca Apple, ktorý sa dodáva ako súčasť macOS.

Pozri tu: https://mpopov.com/blog/2019/06/04/faster-matrix-math-in-r-on-macos/

Bolo by veľmi informatívne vidieť benchmarky z vášho počítača M1 pomocou knižníc Apple Accelerate BLAS/LAPACK.

Tu sú rovnaké referenčné hodnoty z môjho počítača, MacBook Pro z polovice roku 2014, ktorý používa knižnice zrýchlenia. Niektoré maticové operácie sú o rádovo rýchlejšie ako vyššie uvedené výsledky pre M1 alebo 2017 MBP.


> sessionInfo()
R verzia 4.0.2 (22. 6. 2020)
Platforma: x86_64-apple-darwin17.0 (64-bit)
Beží pod: macOS Catalina 10.15.7

Maticové produkty: predvolené
BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/4.0/Resources/lib/libRlapack.dylib

...

> get_cpu()
$vendor_id
[1] 'GenuineIntel'

$model_name
[1] „CPU Intel(R) Core(TM) i7-4870HQ @ 2,50 GHz“

$no_of_cores
[1] 8

> get_ram()
17,2 GB

> res = benchmark_std()
# Programovacie benchmarky (5 testov):
Výpočet 3 500 000 Fibonacciho čísel (vektorový výpočet): 0,277 (s).
Veľké spoločné deliče 1 000 000 párov (rekurzia): 0,616 (s).
Vytvorenie Hilbertovej matice 3 500 x 3 500 (matica calc): 0,407 (s).
Vytvorenie matice Toeplitz 3 000 x 3 000 (slučky): 1,35 (s).
Escoufierova metóda na matrici 60 x 60 (zmiešaná): 0,902 (s).
# Benchmarky výpočtu matice (5 testov):
Vytvorenie, transp., deformácia matrice 5 000 x 5 000: 0,702 (s).
2 500 x 2 500 normálne rozložená náhodná matica^1 000: 0,157 (s).
Triedenie 7 000 000 náhodných hodnôt: 0,639 (sek.).
2 500 x 2 500 matica krížového produktu (b = a' * a): 0,188 (s).
Lineárny regr. cez maticu 5 000 x 500 (c = a b'): 0,0213 (s).
# Testy funkcie Matrix (5 testov):
Choleského rozklad matice 3 000 x 3 000: 0,22 (s).
Determinant náhodnej matice 2 500 x 2 500: 0,164 (s).
Vlastné hodnoty náhodnej matice 640 x 640: 0,344 (s).
FFT nad 2 500 000 náhodných hodnôt: 0,25 (s).
Inverzná k náhodnej matici 1 600 x 1 600: 0,318 (s).
reakcie:pldelisle

poorcody

Prispievateľ
23. júla 2013
  • 2. januára 2021
TensorFlow je natívny a výkon vyzerá skvele. Pozri:

Zrýchlenie výkonu TensorFlow na Macu

Zrýchlenie výkonu TensorFlow 2 na Macu blog.tensorflow.org
Z blogu:
Zobraziť mediálnu položku ' data-single-image='1'> THE

leman

14. októbra 2008
  • 2. januára 2021
LaskaD povedal: leman, ďakujem veľmi pekne za správu.

Používate R nakonfigurované na spustenie referenčných knižníc lineárnej algebry BLAS/LAPACK? Oveľa rýchlejšie maticové operácie sú možné prepnutím na knižnice z akceleračného rámca Apple, ktorý sa dodáva ako súčasť macOS.

Vtedy som vyskúšal oboje, nezískal som veľký rozdiel, s výnimkou niektorých izolovaných testov. Ďalšia vec, ktorú treba zvážiť, je, že BLAS/LAPACK od spoločnosti Apple sú zastarané a majú známe problémy. Tým R aktívne odrádza od ich používania. Ak podnikáte v oblasti násobenia veľmi veľkých matíc a potrebujete to robiť rýchlo a často, je lepšie použiť vlastný balík, ktorý túto úlohu presunie na GPU (M1 má na to vyhradenú podporu). Existuje aj AMX, ale to je veľmi zvláštne zviera, neviem, aké je to univerzálne.
reakcie:isvan60 S

niektoré

8. apríla 2013
  • 12. januára 2021
Použitie rosetty na základni M1 macbook air dosiahlo takmer rovnaký výsledok ako leman's, ibaže správne deteguje model_name

> get_cpu()
sysctl: neznámy oid 'machdep.cpu.vendor'
$vendor_id
znak(0)
attr(,'stav')
[jedenásť

$model_name
[1] „Apple M1“

$no_of_cores
[1] 8

Varovná správa:
V system('sysctl -n machdep.cpu.vendor', interna = TRUE) :
spustený príkaz 'sysctl -n machdep.cpu.vendor' mal stav 1
> get_ram()
8,59 GB
> res = benchmark_std()
# Programovacie benchmarky (5 testov):
Výpočet 3 500 000 Fibonacciho čísel (vektorový výpočet): 0,184 (s).
Veľké spoločné deliče 1 000 000 párov (rekurzia): 4,74 (s).
Vytvorenie Hilbertovej matice 3 500 x 3 500 (matica calc): 0,222 (s).
Vytvorenie matice Toeplitz 3 000 x 3 000 (slučky): 1,26 (s).
Escoufierova metóda na matrici 60 x 60 (zmiešaná): 66,5 (s).
# Benchmarky výpočtu matice (5 testov):
Vytvorenie, transp., deformácia matrice 5 000 x 5 000: 0,418 (s).
2 500 x 2 500 normálne rozložená náhodná matica^1 000: 0,147 (s).
Triedenie 7 000 000 náhodných hodnôt: 0,625 (sek.).
2 500 x 2 500 krížová matica produktov (b = a' * a): 7,18 (s).
Lineárny regr. cez maticu 5 000 x 500 (c = a b'): 0,605 (s).
# Testy funkcie Matrix (5 testov):
Choleského rozklad matice 3 000 x 3 000: 3,99 (s).
Determinant náhodnej matice 2 500 x 2 500: 1,99 (s).
Vlastné hodnoty náhodnej matice 640 x 640: 0,441 (s).
FFT nad 2 500 000 náhodných hodnôt: 0,129 (s).
Inverzná k náhodnej matici 1 600 x 1 600: 1,63 (s).

Pre Apple BLAS nemôžem nájsť súbor libBLAS.dylib v /Library aj /System/Library S

niektoré

8. apríla 2013
  • 18. januára 2021
A tu je benchmark spustený z natívneho R:

> knižnica (benchmarkme)
> get_cpu()
sysctl: neznámy oid 'machdep.cpu.vendor'
$vendor_id
znak(0)
attr(,'stav')
[jedenásť

$model_name
[1] „Apple M1“

$no_of_cores
[1] 8

Varovná správa:
V system('sysctl -n machdep.cpu.vendor', interna = TRUE) :
spustený príkaz 'sysctl -n machdep.cpu.vendor' mal stav 1
> get_ram()
8,59 GB
> res = benchmark_std()
# Programovacie benchmarky (5 testov):
Výpočet 3 500 000 Fibonacciho čísel (vektorový výpočet): 0,111 (s).
Veľké spoločné deliče 1 000 000 párov (rekurzia): 0,282 (s).
Vytvorenie Hilbertovej matice 3 500 x 3 500 (matica calc): 0,162 (s).
Vytvorenie matice Toeplitz 3 000 x 3 000 (slučky): 0,583 (s).
Escoufierova metóda na matrici 60 x 60 (zmiešaná): 0,413 (s).
# Benchmarky výpočtu matice (5 testov):
Vytvorenie, transp., deformácia matrice 5 000 x 5 000: 0,248 (s).
2 500 x 2 500 normálne rozložená náhodná matica^1 000: 0,107 (s).
Triedenie 7 000 000 náhodných hodnôt: 0,607 (sek.).
2 500 x 2 500 krížová matica produktov (b = a' * a): 0,135 (s).
Lineárny regr. cez maticu 5 000 x 500 (c = a b'): 0,045 (s).
# Testy funkcie Matrix (5 testov):
Choleského rozklad matice 3 000 x 3 000: 0,233 (s).
Determinant náhodnej matice 2 500 x 2 500: 0,409 (s).
Vlastné hodnoty náhodnej matice 640 x 640: 0,618 (s).
FFT nad 2 500 000 náhodných hodnôt: 0,0953 (s).
Inverzná k náhodnej matici 1 600 x 1 600: 0,363 (s).
> pozemok (res)
Ste na 1. mieste z 93 strojov.
Stlačením klávesu return získate ďalší graf
Ste na 1. mieste z 93 strojov.
Stlačením klávesu return získate ďalší graf
Ste na 69. mieste z 93 strojov.
>