Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Vreme za aarch64

[es] :: Asembler :: Vreme za aarch64

[ Pregleda: 1043 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Branimir Maksimovic

Član broj: 64947
Poruke: 5534
rs.as51430.net.



+1064 Profil

icon Vreme za aarch6425.02.2021. u 10:31 - pre 37 meseci
32 int registra, 32 float registra, nije lose.
Malo mi neobicni mnemonici, ali navici cu se.
ARM se bas rasprostranio, a ovo sa Apple me potaklo da se pozabavim
ucenjem ozbiljnije. Tu su programi koje imam, obicno pocinjem
sa pretabavanjem, da bih uocio razlike.
 
Odgovor na temu

Rapaic Rajko
Bgd

Član broj: 4105
Poruke: 810
31.223.145.*



+62 Profil

icon Re: Vreme za aarch6402.03.2021. u 07:35 - pre 37 meseci
Pod 'programi koje imas' mislis na svoje C programe, i kako ih kompajler (koji pretpostavljam ide uz taj procesor/arhitekturu) pretabava u asembler za ARM?

Ili si mislio nesto drugo, bas ucenje asemblera?
(uzgred, blago tebi - imas novu igracku )
 
Odgovor na temu

Branimir Maksimovic

Član broj: 64947
Poruke: 5534
217.138.196.21



+1064 Profil

icon Re: Vreme za aarch6405.03.2021. u 23:59 - pre 37 meseci
Rajko:"Ili si mislio nesto drugo, bas ucenje asemblera?"

Da, bas ucenje asemblera. C programi rade out of box, ali asembler treba pretabavati.
Ne znam nekako volem da savladam neki proc za koji mislim da je aktuelan.

"(uzgred, blago tebi - imas novu igracku ) "

Pa svi imaju. Telefon ti je aarch64 ako je par godina star. Ne mora se rutovati
ima adb komanda sa kojom mozes slati kod na telefon i isprobavati. To se enabluje
u onoj opciji developer tools.
 
Odgovor na temu

Rapaic Rajko
Bgd

Član broj: 4105
Poruke: 810
31.223.145.*



+62 Profil

icon Re: Vreme za aarch6415.03.2021. u 13:15 - pre 36 meseci
Oke, volis asembler.

Pomislio sam isprve na C, jer sam imao druga koji je bio zaludjeni poznavalac x86 asemblera.
Hobi mu je bio uporedjivanje kompajlera, to jest nacina kako prevode kod iz viseg jezika (i ne samo C-a).

(a pod igranjem sam mislio na 'ubijanje mozdanih celija')
 
Odgovor na temu

Branimir Maksimovic

Član broj: 64947
Poruke: 5534
217.138.196.21



+1064 Profil

icon Re: Vreme za aarch6417.03.2021. u 02:10 - pre 36 meseci
Za C nije problem samo kompajliras, ali tad ne poznajes arhitekturu. Meni je kad ucim neki proc
samo asembler vazan, jer tako jedino mogu razumeti kvirkove i specificnosti pa i gledati da nekako
bolje pisem za dati procesor. Mene konkretno ovde interesuje ovaj Neon jer to svi ovi procesori imaju
a kad se docepam nekog sa SV ekstenzijama tim bolje :P
U principu asembler ti danas treba zbog tih vektorskih instrukcija, inace poprilicno je isto raditi
sa generickim instrukcijama. Mada, C kompajleri su sve bolji i u tome, tako da jedino sto mozes
da dobijes je u velicini koda.

 
Odgovor na temu

Branimir Maksimovic

Član broj: 64947
Poruke: 5534
185.128.26.212



+1064 Profil

icon Re: Vreme za aarch6424.03.2021. u 02:57 - pre 36 meseci
Steta sto Neon nema min/maxps za float brojeve ne mogu da implementiram SIMD optimizovani bitonic sort. (u stvari mogu ali samo za intove)
Imam neke programe koje sam radio 2013, to je jedno pola ovih benchmarka za jezike na alioth, nekad se
zvalo shootout, ali tu asembler koji sam uradio kida sve jezike. U svakom slucaju nemam nista od ARM-a
sto moze da pridje x86 performansama, ali ono cisto radi ucenja bih mogao.
 
Odgovor na temu

Rapaic Rajko
Bgd

Član broj: 4105
Poruke: 810
31.223.145.*



+62 Profil

icon Re: Vreme za aarch6430.03.2021. u 16:23 - pre 36 meseci
Kad vec pomenu ucenje, pogledao sam sta je to bitonic sort (nikad cuo dosad).

Onda sam implementirao bitonic algoritam 'non-recursive' varijantu (nasao na wikipedia-i) u prastari Delphi demo ThreadSort, da bih video vizuelno kako to radi i izgleda.
Nemalo sam se iznenadio kad sam video sta se na kraju dobije - bitonic sequence: vrednosti se redom penju do nekog maximuma, zatim se spustaju do nekog minimuma.
Za razliku od sorted sequence, gde su sve vrednosti non-increasing or non-decreasing, cine monotoni niz.
Posto sam ugradio mogucnost usporenja crtanja, tacno sam video kako/sta sort zapravo radi.

Kapiram da bitonic sort ima neku specijalnu primenu, procitah da spada u takozvane 'gradjevinske' algoritme.

Zasto ti je bilo vazno da ovo pravis u asembleru, ima li to neku specijalnu primenu u operativnim sitemima, ili mozda s hardverom?
 
Odgovor na temu

Branimir Maksimovic

Član broj: 64947
Poruke: 5534
dynamic-62-240-24-69.cpe.sn.co.rs.



+1064 Profil

icon Re: Vreme za aarch6430.03.2021. u 17:07 - pre 36 meseci
Rajko:"Zasto ti je bilo vazno da ovo pravis u asembleru, ima li to neku specijalnu primenu u operativnim sitemima, ili mozda s hardverom? "

Pa zato sto je u asembleru jedno 3 puta brzi nego bilo sta kompajlirano. Specijalan kod koji kompajler ne moze da generise.
 
Odgovor na temu

Branimir Maksimovic

Član broj: 64947
Poruke: 5534
dynamic-46-235-100-36.cpe.sn.co.rs.



+1064 Profil

icon Re: Vreme za aarch6424.06.2021. u 12:47 - pre 33 meseci
Evo ga moj prvi ozbiljniji program za aarch64, sortiranje listi:
https://github.com/bmaxa/asmsort/blob/main/list_sort.gas
Tu sam se malo upoznao sa arhitekturom i stekom na njemu :P
 
Odgovor na temu

Branimir Maksimovic

Član broj: 64947
Poruke: 5534
dynamic-46-235-100-36.cpe.sn.co.rs.



+1064 Profil

icon Re: Vreme za aarch6427.06.2021. u 00:53 - pre 33 meseci
Evo ga jos jedan ozbiljniji primer, ovoga puta moj nbody bench, koji nazalost na M1 radi sporije :P
Izgleda da M1 vise voli razmotane petlje od Neona ;)
https://github.com/bmaxa/shootout/blob/main/nbody/nbody2.gas
Ovo ce raditi samo na macos naravno :P
 
Odgovor na temu

Branimir Maksimovic

Član broj: 64947
Poruke: 5534
dynamic-46-235-100-36.cpe.sn.co.rs.



+1064 Profil

icon Re: Vreme za aarch6427.06.2021. u 12:43 - pre 33 meseci
Heh kad sam uradio ovo:
Code:


.L1main:
    cmp x20,20
    blt lo
    advance A
    advance B
    advance C
    advance D
    advance E
    advance F
    advance G
    advance H
    advance I
    advance J
    advance 01
    advance 02
    advance 03
    advance 04
    advance 05
    advance 06
    advance 07
    advance 08
    advance 09
    advance 10
    subs x20,x20,20
    bgt .L1main
    b Lskip
lo:
    advance K
    subs x20,x20,1
    bgt lo
Lskip:

Odmah sam dobio jedno 10% na performansama :P
 
Odgovor na temu

[es] :: Asembler :: Vreme za aarch64

[ Pregleda: 1043 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.