Apple M1 vs x86

3

Wydaje mi się nie ma ostrej granicy gdzie zaczyna się RISC a gdzie to już nie jest RISC.
Przynajmniej jeśli chodzi o liczbę instrukcji.
Z drugiej strony wszyscy się zgodzą że x86 to absolutne przeciwieństwo chyba wszystkich założeń RISC :)

0

podłączę się pod temat - jak to jest w przypadku aplikacji uruchamianych w dockerze a nowymi macbookami z m1? Słyszałem, że ta kwestia na nowych m1 jeszcze nie jest rozwiązana, ale może ktoś zgłębiał temat bardziej?

0

@Vorleser: powinno być podobnie do RPi z tym dodatkiem, że teoretycznie można odpalać Linuksa przez Rosettę.

1

AFAIK nie da się jednocześnie wirtualizować i używać Rosetty, więc obrazy by musiały być na architekturę ARM.

A obecnie Docker nie działa w ogóle lokalnie.

1

https://www.singhkays.com/blog/apple-silicon-m1-black-magic/

W artykule napisano, że zaczynając od iPhonów, a kończąc teraz na makach, tym Applowym sprzętom starcza nawet 8 GB do większości zadań z powodu algorytmu GC zliczania referencji, kiedy na Androidach są bardziej zaawansowane algorytmy GC w akcji, które potrzebują tej pamięci więcej.

I wychodzi na to, że ten swap jakiś taki podejrzanie szybki, bo siłą rzeczy w 8 GB wszystko się nie zmieści, bo na testach często jest spora zajętość swapu, rzędu kilku GB (przy maku z 8 GB pamięci ram), a mimo to narzut wydajnościowy nie jest spory i goście na filmach, gdzie testują taki egzemplarz katują go jak chcą bez strat wydajności praktycznie, pomijając cases, gdzie naprawdę trzeba rzucić do pamięci jakiegoś konkretnego kloca z danych (np. przy obróbce filmów 8K)

0

Oglądam trochę testów na YT, w zasadzie angielskojęzycznych. Wszystkie 'benchmarki' czy testy renderowania etc. pokazują naprawdę sporą moc obliczeniową i to w modelu Air, który "nieznacznie" różni się od Pro (mały throttling przy naprawdę mocnym użytkowaniu).
Pytanie laika - czy one są faktycznie takie szybkie w codziennym (naszym programistycznym) użytkowaniu, czy coś przeoczyłem? Oczywiście porównując do konkurencji za tą samą cenę, czy poprzedników (myślę, że nowego Aira raczej porównywać powinno się względem starych Pro, bo ze starym Airem to przepaść).

0

Zależy co tam w niego napchali. Jak wsadzisz w krzem dedykowaną akcelerację czegokolwiek to trudno to będzie dogonić innym układem jej pozbawionym ale o innych parametrach identycznych/bardzo zbliżonych. Apple odpowiada zarówno za soft jak i hardware w postaci CPU więc może jechać z naprawdę srogimi optymalizacjami w jednym i drugim.

2

Ach, te mityczne akceleratory do wszystkiego :P Nawet w kompilacji kodu źródłowego działają! Jeśli faktycznie Apple M1 ma akceleratory kompilacji kodu źródłowego to biorę z miejsca. Kompilacja to moje życie :P

https://wccftech.com/apple-m1-code-compile-results-as-fast-2019-mac-pro/
https://techcrunch.com/2020/11/17/yeah-apples-m1-macbook-pro-is-powerful-but-its-the-battery-life-that-will-blow-you-away/

Here are the machines I used for testing:
2020 13” M1 MacBook Pro 8-core 16GB
2019 16” Macbook Pro 8-core 2.4GHz 32GB w/5500M
2019 13” MacBook Pro 4-core 2.8GHz 16GB
2019 Mac Pro 12-Core 3.3GHz 48GB w/AMD Radeon Pro Vega II 32GB

M1-code-compile-time-1.jpg
M1-code-compile-time-2.jpg

Ktoś mógłby stwierdzić: "ale wiecie, że u Apple jest ścisła integracja software z hardware. dlatego kompilatory magicznie działają szybciej". No to polećmy z testem SPEC (a konkretnie jego jednowątkową wersją) na komórkowej wersji rdzeni od Apple, czyli na Apple A14:
https://www.anandtech.com/show/16226/apple-silicon-m1-a14-deep-dive/4
111158.png

Benchmark 403.gcc. Widać, że komórkowe rdzenie od Apple są na poziomie desktopowego Zena 3 czy laptopowego Tiger Lake. Są też inne benchmarki, które raczej nie pasujądo żadnego akceleratora, np (przestarzała już i rzadko używana) kompresja bzip2, mielenie XMLami, wykonywanie skryptów Perla, itd We wszystkim rdzenie od Apple'a dają radę.

1
froziu napisał(a):

Pytanie laika - czy one są faktycznie takie szybkie w codziennym (naszym programistycznym) użytkowaniu, czy coś przeoczyłem? Oczywiście porównując do konkurencji za tą samą cenę, czy poprzedników (myślę, że nowego Aira raczej porównywać powinno się względem starych Pro, bo ze starym Airem to przepaść).

W naszym programistycznym użytkowaniu zmiana tempa kompilacji kodu z powiedzmy minuty na 30 sekund to jest żadna różnica (dane z d*py - mówię o obecnej klasie sprzętów a nie jakieś i5 6xxx). Bardziej plusów można dopatrywać się w niższych temperaturach i dłuższym pracy na jednym ładowaniu, a na tym polu M1 strasznie odjechał konkurencji.

3

W naszym programistycznym użytkowaniu zmiana tempa kompilacji kodu z powiedzmy minuty na 30 sekund to jest żadna różnica

Totalnie się z tym nie zgadzam. Im dłuższy czas kompilacji tym większa szansa, że programista nie będzie patrzył durnie w monitor tylko zacznie czytać i udzielać się na 4programmers.
A potem człowiek wraca i widzi, że skompilowało się 10 minut temu...
Przy kompilacji jednosekundowej szans na dekoncentrację prawie nie ma. Ale tak powyżej kilku sekund budowania ten średnio stracony czas rośnie nieliniowo (na czuja kwadratowo). Dlatego firmom opłaca się inwestować w szybkie kompy i szybkie buildy.

EDIT:
faktycznie, dawno sie już skompilowało - wracam do kodu

1

Im dłużej czytam o M1 tym bardziej jestem zdziwiony, że udało się coś takiego zrobić i, że żadna inna firma nie poszła w tym kierunku wcześniej (ARM, AMD, nVidia, Intel). Na początku myślałem, że jak zwykle w przypadku Apple "2x szybsze od czegoś" i generalnie więcej marketingu, biało-ameliniowej religii i innych jazd, przez które większość ludzi mających jakieś pojęcie o technologii, ma lekką polewkę z jabłek. W przypadku M1 autentycznie uważam, że odwalili kawał dobrej roboty, pokazując jak bardzo upośledzona jest architektura x86, która w imię zachowywania wstecznej kompatybilności wszystkiego ze wszystkim 70% swojej obliczeniowej poświęca na obsługę samej siebie. Mogę się czepiać i śmiać, że wg. fanów 1 GB RAM od Apple to więcej niż 1 GB RAM na x86, albo, że za dodatkowe 8 GB pamięci chcą 1000 zł, podobnie jak za 256 GB SSD, ale z niechęcią muszę przyznać, że mają jaja, żeby skutecznie wprowadzić nową architekturę dla PC.

0

@piotrpo: Apple może wprowadzać co chce, bo zarządza wszystkim od oprogramowania po sprzęt. Na początku wszyscy się śmiali, teraz są same zachwyty. Inna sprawa, że producenci muszą bać się wprowadzania nowych architektur od czasów Intel Itanium. Pewnie ten ruch od Apple sprawi mocne poruszenie i rozwój w segmencie procesorów, co będzie dobre dla nas wszystkich

3

@slsy ARMy już od jakiegoś czasu zaczynały wchodzić w segment serwerowy (AWS, Scaleway, Ampere), rynek mobilny już dawno zdominowany. Desktopy to była kwestia czasu, aż ktoś przedstawi CPU, który będzie tutaj pasował, no i Apple w tej kwestii stoi na uprzywilejowanej pozycji, bo kontroluje całość platformy a do tego mają 10 lat doświadczenia w projektowaniu CPU.

4

Czyli podsumujmy jak wygląda teraz rynek "poważnych" laptopów: można kupić superkanciaste gamingowce wymagające 2 zasilaczy w szczycie mocy lub "profesjonalne" typu np. P53, które "w zamian" za kanciastość, wyższą wagę, gorsze głośniki, gorsze ekrany, gorsze mikrofony, gorsze klawiatury (ta uwaga wyjątkowo nie dotyczy thinkpadów) i gorsze touchpady, a teraz jeszcze, na dobitkę gorsze procesory i gorszy czas pracy na baterii, dadzą nam czasem może lepszy GPU (gry to wiadomo, ale profesjonalnie to nie widzę wielu zostosowań poza ML), możliwość botowania Windowsa i Linuksa i, jako premium, firmę producenta, która nie jest Apple.

Krótko mówiąc: rewelacyjnie reszta producentów przespała "trudny" okres dla Apple tymi sprzętami, które wypuszczali w latach 2016-2019, zatem dalej niech montują ekrany 1080p 1000 Hz z paletą barw 8 bitowca, głośniki i mikrofony z walkmanów, to udział Apple w rynku laptów przeskoczy za parę lat udziały iPhona na rynku smartfonów. Będzie wtedy tylko wybór "gównosprzęt", drogi, ale nie od Apple, bo to wszak "obciach" i "religia", albo sprzęt "normalny", tylko, że od Apple.

0

Google zapowiedziało, że też tworzy własny procesor ARM do swoich smartfonów i laptopów z systemem ChromiumOS. Czy w ogóle powstanie procesor AMD Ryzen Threadripper 5990 WX? Mogą w nim zastosować już litografię 5 nm? Dlaczego procesory ARM nie zawierają w sobie 64 rdzeni lub więcej? Przecież też działają na serwerach.

0

Google zapowiedziało, że też tworzy własny procesor ARM do swoich smartfonów i laptopów z systemem ChromiumOS.

Źródło?

Czy w ogóle powstanie procesor AMD Ryzen Threadripper 5990 WX?

Tarota trzeba postawić, żeby mieć definitywną odpowiedź. Jak na razie nie ma nawet oficjalnych zapowiedzi, więc AMD może zmienić plany w dowolnym momencie. Jednak rozsądnie jest obstawiać, że powstanie.

Mogą w nim zastosować już litografię 5 nm?

Myślę, że Apple ma priorytet w rezerwacji wafli 5 nm w TSMC, a poza tym i tak na początku uzysk jest mniejszy, koszt wafli większy, parametry gorsze, a oprogramowanie do tworzenia układów w nowym procesie dynamicznie się rozwija. Stąd i tak lepiej poczekać trochę, aż Apple przetrze szlaki, TSMC zwiększy produkcję wafli 5 nm, a cały proces produkcyjny stanie się tańszy i efektywniejszy.

Dlaczego procesory ARM nie zawierają w sobie 64 rdzeni lub więcej? Przecież też działają na serwerach.

Zawierają 64 rdzeni i więcej:

Pewne porównanie wydajności: https://nuviainc.com/blog/performance-delivered-a-new-way-part-2geekbench-versus-spec

1

Dlaczego procesory ARM nie zawierają w sobie 64 rdzeni lub więcej?

Tak jak @Azarien napisał, posiadają, ale ARMy przeznaczone do serwerów. Na desktopie często jest lepiej mieć mniej szybszych rdzeni niż więcej wolniejszych. Dokładnie na odwrót względem serwerów.

1
TurkucPodjadek napisał(a):

Czyli podsumujmy jak wygląda teraz rynek "poważnych" laptopów: można kupić superkanciaste gamingowce [...] lub "profesjonalne" typu np. P53, które "w zamian" za kanciastość

Ale co masz do kanciastości, albo superkanciastości? Zaokrąglenia są dla p… yy znaczy chciałem powiedzieć, że wolę konsekwentną kanciastość w każdej z osi niż applowskie połączenie obłości z kalecząco ostrymi krawędziami..

0

Azarien

Ale co masz do kanciastości, albo superkanciastości? Zaokrąglenia są dla p… yy znaczy chciałem powiedzieć, że wolę konsekwentną kanciastość w każdej z osi niż Applowskie połączenie obłości z kalecząco ostrymi krawędziami..

Kupujesz kanciaste tower-desktopy zasilane najlepiej generatorem wożonym taczką, aby mieć mobilne urządzenie do pracy? No bo skoro kanciastość i waga nie ma tu żadnego znaczenia, wszak dlaczego się ograniczać i kupować jedynie "ponadstandardowo" grubsze i mniej wydajne laptopy, skoro można całe meble kupować i pokazywać, że można. Sensu będzie to nie mieć wcale, ale przynajmniej będzie widowiskowe dla otoczenia.

Dla niekumających o co mi chodzi: obecne macbooki M1 są cieńsze, lżejsze i mają baterie mniejszej pojemności niż większość konkurencji, "w zamian" są wydajniejsze, są mniej podatne na ograniczenia temperaturowe i żyją znacznie dłużej na baterii. Jak ktoś widzi tu jakiś argument za "konsekwentną kanciastością", to wypada mu pogratulować. Chyba, że pod tym rozumie konsekwencje w "beznadziei". Bo ja, jako konsument, zupełnie nic z tego nie mam, że np. Lenovo sprzeda mi większy, cięższy i kanciasty komputer, wręcz muszę jak idiota większy plecak przez to kupić i jeszcze częściej pakować tam zasilacz (niżbym miał dla MBP 13" M1)

2

ma tu żadnego znaczenia, wszak dlaczego się ograniczać i kupować jedynie "ponadstandardowo" grubsze i mniej wydajne laptopy, skoro można całe meble kupować i pokazywać, że można. Sensu będzie to nie mieć wcale, ale przynajmniej będzie widowiskowe dla otoczenia.

O i to jest bardzo dobra rada. Kupiłem ponad rok temu dużego desktopa. W czasach covidu gdzie już zupełnie mało się ruszam z domu.. to ideał. Cicho i wydajnie do posrania.

Będzie mi ciężko wrócic do laptopów (kanciak AlienWare jest spoko - ale głośny, a do dektopa wydajnościowo jest przepaść, leciutki lenovo yoga jest leciutki, ale pracować na tym się nie da - to jest najbardziej porównywalne wydajnościowo ze makami przed m1 (wszystkie zady i walety 13 cali) - jest przepaść do starego aliena ).

Fanom maków przypomnę, że liczy się nie tylko cena, która w apple dla pewnego przedziału (2- 3,5k euro) jest względnie korzystna. Liczy się też design, a tu mac od dawna mnie odstrasza, no i największy problem to OS. Ostatnie kilka updatów (od catalina) to ciągłe narzekania kumpli makowców, że znowu nie mogą normalnie pracować bo coś apple wymiśliło - nein danke.

0

@jarekr000000: system i "filozofia" Apple to osobny problem, o którym póki co tutaj nie rozmawiamy, mi też on nie pasuje.

Rozmawiamy o tym co się zmieniło sprzętowo, a zmieniło się sporo (w świecie PC). Np. Mac Pro też jest desktopem cichym i wydajnym (i drogim), a w niektórych testach dostaje bęcki od takiego naleśnika jak Air M1, który nie ma nawet wentylatora. Jak w takiej sytuacji uzasadnisz zakup takiego desktopa, w sensie jaki "racjonalny" argument tu padnie? Wydajniejszy w niektórych testach? Ładniejszy? Pasuje bardziej do mebli? Kiedyś było wiadome, że jak kupujesz desktop, to chcesz wydajność bez kompromisów, a laptop to na pracę w terenie, "byle jakoś tam działało". Jak chciałeś wydajnego laptopa, patrz alienware właśnie, to zależnie od modelu, miałeś pracę głośniejszą od turbiny w aucie przy sporych obrotach silnika oraz konieczność tahania 2 zasilaczy, bo jeden nie dźwignie tej "pełnej mocy". I oczywiście gniazdko w pobliżu bo pełna moc to i baterii w 30 minut nie ma.

Teraz wchodzi na biało Apple i pokazuje, patrzcie: to naleśnik, 13 cali, zasilany po USB-C, zupełnie bez chłodzenia, działa w cholerę czasu na baterii (i to w testach obciążeniowych zwłaszcza), do tego Air throttluje max 15% po 30 minutach pracy pod pełnym obciążeniem, a na deser wciąga nosem takie Alienware i niektóre desktopy (zwłaszcza te z intelami 14nm++++++++) jak chodzi o czystą, brutalną wydajność. To jest spora zmiana. To pokazuje, że nie trzeba godzić się na niektóre "kompromisy", do których przyzwyczaił nas rynek

2

To powiem tylko moją obserwację - co jest największym spowalniaczem IMO w mojej pracy na laptopach. A testy (niestety lekko amatorskie - wątpliwe nawet dla mnie) - wskazuja, że nie nie jest to grzejący się procek. A... grzejące się SSD!!!. I tu po prostu ciężki kawał radiatora w Desktopie wydaje się załatwiać problem.
Więc apple chyba będzie jeszcze musiało SSD własne zrobić... Albo niestety wstawić kawał blachy,radiator lub wentylator. Chyba nie ma 13 cali całych na biało (nie jak kompilujesz jakieś tysiące plików projektu).

(*) Testy robiłem w ten sposób, że kopiowałem duże 16gb pliki na SSD i sprawdzałem jak po tym działa kompilacja vs kompilacja po daniu kilkuminotowego odpoczynku SSD. Co ciekawe - u mnie najbardziej w tym teście dostawał Alien (musi mieć jakoś wyjątkowo słabo zrobione chłodzenie SSD).

0

Jak kogoś nie stać na 64 GB RAM dzisiaj to powinien iść do supportu. A jeśli chodzi o SSD to właśnie znalazłem świetny pomysł jak połączyć teorię z praktyką - jak rozwiązać problem marznących baterii w EV. Trzeba po prostu obłożyć je SSD a zamiast ECU zastosować jakiś x86. Prawie jak elektrociepłownia i znika problem ciepła odpadowego.

0

To co to za SSD? Ostatnio wymieniłem HDD na SSD w dwóch lapkach i odczuwalna temperatura obu lapków podczas pracy znacząco spadła.

0
TurkucPodjadek napisał(a):

na deser wciąga nosem takie Alienware i niektóre desktopy (zwłaszcza te z intelami 14nm++++++++) jak chodzi o czystą, brutalną wydajność.

To jest przedwczesne. Może jak zrobią wersje z większą ilością rdzeni, podobno gdzieś do wiosny dla mocniejszych laptopów, to będzie można tak mówić.
Póki co zobaczcie takie porównanie na dużej ilości zróżnicowanych testów Mini M1 z 2 lekkimi laptopami z całkiem skromnymi procesorkami od Intela i AMD. Często jest przez Rosettę, ale bywa i native. Jakiegoś wielkiego wciągania nosem tam nie widać. A to są laptopy do przeglądania stron, z "kanciastych" można wyciągnąć ponad 2 razy więcej.
https://openbenchmarking.org/result/2011202-PTS-MERGE68890&sor

1

I tak zapewne zamożny programista i haker zarabiający 15k nie kupi nic od Apple, ponieważ w tej cenie najdroższych iMaców, czy Macbooków Pro może kupić dużo lepszy sprzęt. Tu są dwie opcje dla programisty 25k i biedniejszego 15k.

Zestaw (programista 25k) pod Gentoo, które podobnie jak macOS jest w całości kompilowane pod dany sprzęt.
AMD Ryzen Threadripper 3990X 64-Core + 256 GB RAM DDR4 5100Mhz + Socket sTRX4 + Modularny Thermaltake Toughpower RGB 1500W 80 Plus Titanium + Radeon 6900 XT + ADATA 2TB M.2 PCIe Gen4
Pojemność: 2000 GB
Interfejs: M.2 PCIe NVMe 4.0 x4
Prędkość odczytu: 7400 MB/s
Prędkość zapisu: 6400 MB/s

Zestaw (programista 15k) pod Slackware.
AMD Ryzen 9 5950X 16-Core + 64 GB DDR4 + Socket x570 + Modularny Corsair HX1200i 1200W 80 Plus Platinum + Radeon 6800 XT ... reszta tak jak wyżej

Więc jeżeli jesteś jednym z tych programistów 15k, 25k, a nie wiedziałeś jaki najlepszy sprzęt kupić do programowania to już wiesz.

Jeszcze jedno zasadnicze pytanie, który komputer Apple pozwoli zejść z kompilacją kernela poniżej 20 sekund?
https://openbenchmarking.org/test/pts/build-linux-kernel

1

Dla mnie M1 to piekny pokaz jak stare biznesy gina w odchłani. Intel to juz martwa architektura. Zaczynamy nowy piękny wyścig zbrojeń i różnorodonosci rozwiazan sprzetowych (nowe dedykowane rozkazy, koprocesory), ktorych w dalszej przyslosci gówniany JVM w tej kwestii nie obsłuży bo 20 lat juz dodaje wsparcie MMX. W takim GO kompilator smigal na M1 w dniu premiery.

Najciekawszym ruchem bedzie ewakuacje M$ z Intela dla domowych userow, a dla PRO nowy cennik za kompatybilnosc z Intelem.

1

Kilka osób w tym wątku zachwalało jaka to zła niedobra jest architektura x86, a ARM taki wspaniały, RISCowy... zastanawiam się czy próbowaliście w ogóle napisać coś w asemblerze ARM?
Bo ja właśnie próbuję, i wiecie co? ARM też jest powalony, tylko w innych miejscach!
Zagadka: którą z tych dwóch liczb: 370 i 384 można załadować do 32-bitowego rejestru ARM jako wartość natychmiastową (immediate)? Odpowiedź: tę drugą. Bo jest tylko 4096 wartości spełniających jakiś wzór które da się zakodować w instrukcji. Pozostałe wartości trzeba sobie ładować przez pamięć albo sumować z tych dozwolonych.
W ogóle na ARM ciągle coś trzeba robić pośrednio, nawet skoki, bo mając 32-bitowe rejestry i stałe 32 bity na instrukcję wielu rzeczy po prostu się nie da zrobić w jednej instrukcji.

Nie wiem jak to wygląda na ARM64, bawię się na RPi pierwszej generacji, ale póki co zestaw instrukcji nie wygląda na jakiś super wygodny, po prostu inny i o innym zestawie osobliwości.

1

@Azarien: Zgaduje że nie są to problemy które dotyczące większości programistów

1 użytkowników online, w tym zalogowanych: 0, gości: 1