AMD: Jättisiruun perustuva Epyc olisi liki 70 % kalliimpi kuin neljän sirun versio

Liittynyt
14.12.2016
Viestejä
2 768
Heh!
Te puhutte aika eri asiasta. Hkultakala puhuu oikeista kuluttajista. Niitä joille riittäisi 200€ puhelimen soc kaikkeen mahdolliseen. JiiPee taitaa puhua enthusiast käyttäjistä jotka tuhlaavat koneeseen 1000€ tai jopa sen yli.
Ihan varmasti pieni monoliitti on parempi Matti Meikäläisen marketti mikroon. Yksinkertaisempi ja selvästi halvempi. Joku tehokäyttäjä 64-128 ytimellä luultavasti koostaa laskentapiirinsä useammasta kuin yhdestä osasta.
Mutta tavallinen kuluttaja ei takuulla tarvitse paria kolmea ydintä enempää siihen että käy facebookissa ja pankissa. Sekä katsoo siinä samalla kissavideoita tuubista ;)

Olen 99% varma että itse pärjäisin vielä vuosia hyvällä neliytimisellä, mutta kyllä sitä siitä huolimatta kutkuttaisi hankkia joku 16 ytiminen mörssäri, joka olisi 99% käyttöajasta totaalinen overkill ja lopun aikaakin luultavasti vain overkill...
No toivottavasti olen väärässä ja tulisin tarvitsemaan sitä kuuttatoista johonkin jo muutaman vuoden sisään... no edes kahdeksaa...
 

CalEpitan

BANNATTU
BANNED
Liittynyt
24.11.2016
Viestejä
1 702
Nimenomaan. Itsellä pölyttyy nurkassa vanha koneeni Athlon 5000+ / 8gt ddr2 800mhz / nvidia 550Ti
Peruspertti ei huomaisi surffauksessa varmaan mitään eroa tuon koneen ja 16-core Threadripper+Vega64 välillä varsinkin jos käytössä vielä SSD lätty.
 
Liittynyt
21.12.2016
Viestejä
103
[offtopic]



hmm, millähän optioilla nuo Phoronixilla oikein on tuota käännelleet...

edit: tässä olikin käytössä eri versio testistä


Imutin tuon single-thread c-version lähdekoodin, käänsin gcc -O3lla(käyttää vain SSE:tä, ei AVXää), ja sain skylakella(i7-6700) tulokseksi Skylakella 4636 megaflopsia, Ryzenillä(1700) 5647 megaflopsia.

lisäämällä -mavx2 kääntöparametreihin tuli skylakella 4818 megaflopsia, ryzenillä 6139.

Aika yllättävää, olisi luullut skylaken hyötyvän huomattavasti avx2sta ja ryzenin pysyvän suurinpiirtein samassa, mutta kävikin toisinpäin.

gcc:n versiona 5.4.0


vai onkohan kyseessä kuitenkin eri koodi, mikä noilla..

Download (Himeno bench 98 source code) | ACCC, RIKEN <-- tuolta siis hain tuon sorsan, ja definoin LARGE

jaahas, minulla oli vanhempi versio(versio 2), phoronix käyttää versiota 3 tuosta testistä. ja minkähänkokoisella datasetillä olivat ajaneet..

http://www.phoronix.net/downloads/phoronix-test-suite/benchmark-files/himenobmtxpa.tar.bz2

Kolmosversiolla tulee samantyylisiä tuloksia kuin phoronixin sitelläkin olevat tulokset, Skylake on tuplasti Zeiniä nopeampi -mavx2-optiolla käännettynä.

Pelkällä SSE:llä sen sijaan molemmat ovat about yhtä nopeita, Zen ei hidastu yhtään mutta Skylake hidastuu puoleen.

[/offtopic]
Tarkoittako tämä "En usko!"?

Minun gcc 5.4 ja 6.4 näytti käyttävän AVX2:een kuuluvaa käskyä (vbroadcastss) vain alustusfunktioissa mat_set() ja mat_set_init(), laskenta oli edelleen iloisesti skalaari-avx:ää.

Normi Himenolla minulla on ollut Ivyllä heittoja 1200-1600 gflopsin välillä riippuen siitä, ajetaanko se bootin jälkeen vai sitten kun uptimea on tullut reippaammin. Ryzenillä se olikin sitten välillä 50-1100 gflops, tyypillisesti tuota pienempää ja pienemmät datasetit nopeutui aiemmin uptimen kasvaessa. En tiedä miksi, mutta modaamalla himenoa niin, että muistin varauksen kanssa pistin memsetin alustamaan muistin nollasta poikkeavalla arvolla, himenon suorituskyky stabiloitui Ryzenillä niin, että saatoin profiloida sitä. Tuo auttoi myös Ivyllä. Enabloimalla transparent hugepages kernelistä Ryzen ei enää tarvitsisi tuota workaroundia, mutta Ivy kyykkää enemmän. TLB trashingia kenties.

Mutta itse asiaan. Binäärit ovat käännetty -O3:lla, mikäli oikein muistan. Ajot jostain kuukauden takaa.
Koodi:
perf stat -e cpu-clock,cpu-cycles,L1-dcache-loads,L1-dcache-load-misses ./himeno_with_memset l
mimax = 256 mjmax = 256 mkmax = 512
imax = 255 jmax = 255 kmax =511
 Start rehearsal measurement process.
 Measure the performance in 3 times.

 MFLOPS: 1585.593882 time(s): 2.095883 4.882812e-04

 Now, start the actual measurement process.
 The loop will be excuted in 85 times
 This will take about one minute.
 Wait for a while

 Loop executed for 85 times
 Gosa : 4.882812e-04
 MFLOPS measured : 1585.128158    cpu : 59.400799
 Score based on Pentium III 600MHz using Fortran 77: 19.330831

 Performance counter stats for './himeno_with_memset l':

      62181,817429      cpu-clock:u (msec)        #    1,000 CPUs utilized         
   227 213 946 420      cpu-cycles:u              #    3,654 GHz                   
   122 843 015 899      L1-dcache-loads:u         # 1975,546 M/sec                 
    31 410 029 031      L1-dcache-load-misses:u   #   25,57% of all L1-dcache hits 

      62,178677873 seconds time elapsed
Koodi:
perf stat -e cpu-clock,cpu-cycles,L1-dcache-loads,L1-dcache-load-misses ./himeno_with_memset l
mimax = 256 mjmax = 256 mkmax = 512
imax = 255 jmax = 255 kmax =511
 Start rehearsal measurement process.
 Measure the performance in 3 times.

 MFLOPS: 1102.795920 time(s): 3.013449 4.882812e-04

 Now, start the actual measurement process.
 The loop will be excuted in 59 times
 This will take about one minute.
 Wait for a while

 Loop executed for 59 times
 Gosa : 4.882812e-04
 MFLOPS measured : 1106.845535    cpu : 59.047666
 Score based on Pentium III 600MHz using Fortran 77: 13.498116

 Performance counter stats for './himeno_with_memset l':

      62560,927442      cpu-clock:u (msec)        #    0,999 CPUs utilized         
   230 614 442 658      cpu-cycles:u              #    3,686 GHz                   
    92 984 976 729      L1-dcache-loads:u         # 1486,311 M/sec                 
    15 120 173 457      L1-dcache-load-misses:u   #   16,26% of all L1-dcache hits 

      62,593956378 seconds time elapsed

"Hieman" huteja koodille jossa seuraava iteraatio on "lue seuraava tuosta vierestä".

Huomasin että datasettien koot ovat ikävästi kakkosen potensseja ja koodi näytti siltä että loopin sisällä haettiin dataa alueilta, jotka saattoivat olla offsetattu toisistaan korkealla kakkosen potenssilla datasetin koosta johtuen. Datasetin koon muuttaminen antoikin välitöntä palautetta. Muokkasin osoitteenlaskentamakroa:
Koodi:
Normi:
#define MR(mt,n,r,c,d)  mt->m[(n) * mt->mrows * mt->mcols * mt->mdeps + (r) * mt->mcols* mt->mdeps + (c) * mt->mdeps + (d)]
Fixi:
#define MR(mt,n,r,c,d)  mt->m[(n) * mt->mrows * (mt->mcols+1) * (mt->mdeps+1) + (r) * (mt->mcols+1)* (mt->mdeps+1) + (c) * (mt->mdeps+1) + (d)]
Eli lisäsin paddingia (ja varasin hitusen enemmän muistia kuin normi himeno).
Koodi:
perf stat -e cpu-clock,cpu-cycles,L1-dcache-loads,L1-dcache-load-misses ./himeno_ryzen l
mimax = 256 mjmax = 256 mkmax = 512
imax = 255 jmax = 255 kmax =511
 Start rehearsal measurement process.
 Measure the performance in 3 times.

 MFLOPS: 2249.744618 time(s): 1.477154 4.882812e-04

 Now, start the actual measurement process.
 The loop will be excuted in 121 times
 This will take about one minute.
 Wait for a while

 Loop executed for 121 times
 Gosa : 4.882812e-04
 MFLOPS measured : 2257.232413    cpu : 59.380908
 Score based on Pentium III 600MHz using Fortran 77: 27.527225

 Performance counter stats for './himeno_ryzen l':

      61299,013357      cpu-clock:u (msec)        #    1,000 CPUs utilized         
   223 717 696 898      cpu-cycles:u              #    3,650 GHz                   
   173 158 952 128      L1-dcache-loads:u         # 2824,824 M/sec                 
     6 250 094 778      L1-dcache-load-misses:u   #    3,61% of all L1-dcache hits 

      61,296006063 seconds time elapsed
Koodi:
perf stat -e cpu-clock,cpu-cycles,L1-dcache-loads,L1-dcache-load-misses ./himeno_ryzen l
mimax = 256 mjmax = 256 mkmax = 512
imax = 255 jmax = 255 kmax =511
 Start rehearsal measurement process.
 Measure the performance in 3 times.

 MFLOPS: 4718.672188 time(s): 0.704270 4.882812e-04

 Now, start the actual measurement process.
 The loop will be excuted in 255 times
 This will take about one minute.
 Wait for a while

 Loop executed for 255 times
 Gosa : 4.882812e-04
 MFLOPS measured : 4722.343618    cpu : 59.816409
 Score based on Pentium III 600MHz using Fortran 77: 57.589556

 Performance counter stats for './himeno_ryzen l':

      60900,989858      cpu-clock:u (msec)        #    0,999 CPUs utilized         
   223 478 674 035      cpu-cycles:u              #    3,670 GHz                   
   373 248 765 385      L1-dcache-loads:u         # 6128,780 M/sec                 
     1 164 215 822      L1-dcache-load-misses:u   #    0,31% of all L1-dcache hits 

      60,935839989 seconds time elapsed
Pikkasen vihasemmin kulkee koodi, varsinkin Ryzenilla.

Skimmasin läpi tuon himeno 2:n, erona näkyy olevan ettei se laske indeksejä makrolla ja mikä tärkeintä, datasettien koot välttää kakkosen potensseja (on 2^n+1).
 
Liittynyt
21.06.2017
Viestejä
7 040
Jaa että kun ensin hypetät innokkaana sitä kuinka "yksi riittää" ja sitten kun yksi ei riitäkään, siitä huomattauminen siitä on mielestäsi "pilkunnussintaa". Ei se ole pilkunnussintaa, se on sinun virheellisten väitteidesi korjaamista.
Lopeta valehtelu. En ole väittänyt että yksi riittää, vaan olen tarkoittanut että ne mitä on ulkona, niille riittää yksi tuotantolinja ja 2 paketointilinjaa. Joka on edelleen aika helvetin paljon vähemmän mitä Intelillä on desktop/serveripuolelle. En ole missään vaiheessa väittänyt että MCM olisi jotenkin universaali kattaen ihan kaiken mahdollisen vaan tarkoitin mitä AMD on nyt saanut pihalle joka kattaa serverit/desktopit.
Muttas sinun piti alkaa heti nillittää asiasta ihan vain koska siihen sait mahdollisuuten koska en tarpeeksi SELVÄSTI herralle asiaa ilmaissut.
Se että lätkitäänkö raven nippuun samalla kokoonpanolinjalla kuin rytsölät, sitä et tiedä sinä enkä sitä tiedä minä. Se on vain sinun mutuiluasi että se tarvitsee omansa.
 
Liittynyt
22.10.2016
Viestejä
11 133
Lopeta valehtelu. En ole väittänyt että yksi riittää, vaan olen tarkoittanut että ne mitä on ulkona, niille riittää yksi tuotantolinja ja 2 paketointilinjaa.
Vaikea lopettaa, koska en ole koskaan aloittanutkaan.

Sinulla sen sijaan tuntuu olevan aika "valikoiva muisti" ja jonkinlainen totuudenvääristymäkenttä sen suhteen, mitä olet aiemmissa viesteissäsi sanonut/väittänyt.

JiiPee sanoi:
Sinä sivuutat nyt kokonaan sen pointin että tulevaisuudessa ei tarvita kuin se MCM malli ja sillä saadaan katettua kaikkien tarve, niin tavallisten kuluttajien kuin ammattilaisten.
Joka on edelleen aika helvetin paljon vähemmän mitä Intelillä on desktop/serveripuolelle. En ole missään vaiheessa väittänyt että MCM olisi jotenkin universaali kattaen ihan kaiken mahdollisen
Juuri niin olet tuo lauseesi on tulkittavissa ja selvästi alunperin tarkoitettu tulkittavaksi.

vaan tarkoitin mitä AMD on nyt saanut pihalle joka kattaa serverit/desktopit.
Se, mitä tarkoitat tuntuu aina muuttuvan sen mukaan, kun jäät kiinni siitä, että se mitä alunperin tarkoitit paljastuu ettei pidäkään paikkaansa.

Sen sijaan että rehellisesti myöntäisit olleesi väärässä, alat keksimään ettei oikeasti tarkoittanutkaan sitä mitä alunperin väitit.

Mutta sinun piti alkaa heti nillittää asiasta ihan vain koska siihen sait mahdollisuuten koska en tarpeeksi SELVÄSTI herralle asiaa ilmaissut.
Se että lätkitäänkö raven nippuun samalla kokoonpanolinjalla kuin rytsölät, sitä et tiedä sinä enkä sitä tiedä minä. Se on vain sinun mutuiluasi että se tarvitsee omansa.
Tässä aika oleellinen kysymys on, että mitä tarkoitetaan "kokoonpanolinjalla".

Sinä niistä aloitit höpisemään, ilmeisesti tietämättä itse mitä tarkkaanottaen sillä tarkoitat (tai määrittelemällä sen niin tarkoituksella niin epäselvästi, että pystyt taas tarvittaessa vääntämään määrittelyn jälkikäteen sinulle edulliseen muotoon).

Varmaa on, että Raven Ridge vaatii erilaisen paketin jossa paketin sisäiset johdot on eri paikassa kuin Summit ridgen paketissa.

Se, mitä tulkitset "eri kokoonpanolinjoiksi" ja mitä "samaksi kokoonpanolinjaksi" on sitten vaan ihan sinun pään sisällä olevaan huttua.

Ja normaalisti puhutaan piirien paketoinnista, ei "kokoonpanosta".
 
Viimeksi muokattu:
Liittynyt
05.02.2017
Viestejä
5 175
Heh!
Te puhutte aika eri asiasta. Hkultakala puhuu oikeista kuluttajista. Niitä joille riittäisi 200€ puhelimen soc kaikkeen mahdolliseen. JiiPee taitaa puhua enthusiast käyttäjistä jotka tuhlaavat koneeseen 1000€ tai jopa sen yli.
Ihan varmasti pieni monoliitti on parempi Matti Meikäläisen marketti mikroon. Yksinkertaisempi ja selvästi halvempi. Joku tehokäyttäjä 64-128 ytimellä luultavasti koostaa laskentapiirinsä useammasta kuin yhdestä osasta.
Mutta tavallinen kuluttaja ei takuulla tarvitse paria kolmea ydintä enempää siihen että käy facebookissa ja pankissa. Sekä katsoo siinä samalla kissavideoita tuubista ;)
Hintaluokkasi ovat kyllä ihan huuhaata. Jotain Threadripperiä ei juuri kannata hankkia, jos koneeseen on budjetoitu alle 1500 euroa, tai jopa 2000 euroa (jos näytönohjaimelle on muutakin käyttöä kuin Windowsin tai Linuxin työpöydän näyttäminen). Jos kuluttajaluokan laitteissa on MCM-ratkaisuja nähty, niin seuraavassa sukupolvessa niistä on aina luovuttu, koska valmistusteknologian pienentyminen on mahdollistanut vastaavan toiminnallisuuden integroinnin samalle sirulle.
 
Liittynyt
21.06.2017
Viestejä
7 040
Juuri niin olet tuo lauseesi on tulkittavissa ja selvästi alunperin tarkoitettu tulkittavaksi.
Jos sinä sen niin haluat tulkita niin se ei ole minulta mitään pois. Täällä on kyllä muista jotka ovat tajunnu mitä tarkoitan ja se riittää minulle.

Sinä saat inttää että MCM on kallis ihan niin paljoin kuin sinua haluat. Kuten tämän ketjun otsikko sanoo, AMD on sanonut ja minä olen sanonut, niin MCM on kokonaisuudessaan edullisempi parempien saantien takia.

Sinä niistä aloitit höpisemään, ilmeisesti tietämättä itse mitä tarkkaanottaen sillä tarkoitat (tai määrittelemällä sen niin tarkoituksella niin epäselvästi, että pystyt taas tarvittaessa vääntämään määrittelyn jälkikäteen sinulle edulliseen muotoon).
Minulla on täysin selvää miten minä näen kokoonpanolinjat ja paketointilinjat omassa mielessäni. Jos ne näkemykset ei mene yksiin sinun näkemystesi kanssa niin ihan turha asiasta vängätä koska faktaa on se että ei minulla eikä sinulla ole todellakaan käsitystä siitä miten noiden prosessorien KOKO tuotanto tapahtuu.
Ei ne tehtaat ole mitään korkeasaaria jossa jonnet voi käydä katsomassa ja ihmettelemässä että miten ne prosessorit valmistuu.
 

Deussu

Premium-jäsen
Liittynyt
18.10.2016
Viestejä
653
Tehän puhutte ihan eri asioista.

MCM on kallis halppispiireille kyllä, mutta mitä isompia prossuja lähdetään tekemään, sen halvemmaksi MCM muuttuu vs monoliittinen piiri. Epyc on varmaan se optimaalisin esimerkki tästä.

AMD:n tyyli ympätä piirejä yhteen on heille halpaa, koska yhden tehtaasta ulostulevan piirin käyttöskaala on Ryzen3 - Epyc, joten todella harva piiri oikeasti tuottaa sen 0, eli lentää roskiin. Samalla suunnittelukuluissa säästetään, kun kaikki muutokset valuvat koko tuoteskaalalle.

Tietty tuossa usean piirin systeemissä kuluu transistoreja hukkaan, mutta ei näitä olekkaan tarkoitettu mihinkään halpisluokkaan ja Ryzenin myyntiluvut sen kertovat, että 300-500€ prossusta ei ole mikään niche.
 
Liittynyt
14.12.2016
Viestejä
2 768
Heh!
Te puhutte aika eri asiasta. Hkultakala puhuu oikeista kuluttajista. Niitä joille riittäisi 200€ puhelimen soc kaikkeen mahdolliseen. JiiPee taitaa puhua enthusiast käyttäjistä jotka tuhlaavat koneeseen 1000€ tai jopa sen yli.
Ihan varmasti pieni monoliitti on parempi Matti Meikäläisen marketti mikroon. Yksinkertaisempi ja selvästi halvempi. Joku tehokäyttäjä 64-128 ytimellä luultavasti koostaa laskentapiirinsä useammasta kuin yhdestä osasta.
Mutta tavallinen kuluttaja ei takuulla tarvitse paria kolmea ydintä enempää siihen että käy facebookissa ja pankissa. Sekä katsoo siinä samalla kissavideoita tuubista ;)
Hintaluokkasi ovat kyllä ihan huuhaata. Jotain Threadripperiä ei juuri kannata hankkia, jos koneeseen on budjetoitu alle 1500 euroa, tai jopa 2000 euroa (jos näytönohjaimelle on muutakin käyttöä kuin Windowsin tai Linuxin työpöydän näyttäminen). Jos kuluttajaluokan laitteissa on MCM-ratkaisuja nähty, niin seuraavassa sukupolvessa niistä on aina luovuttu, koska valmistusteknologian pienentyminen on mahdollistanut vastaavan toiminnallisuuden integroinnin samalle sirulle.
Tjoo... osittain. Eli oikeasti puhutaan 2000-2500 egen laitteista, joita oikea kuluttaja ei edes harkitse vaan katsoo niistä 250-500 euron markettipaketteja. Mutta tuo tarkka hinta ei ollut se varsinainen pointti, mutta olet ihan oikeassa että olisi pitännä kertoa se ehkä kahdella.
Tarkoitin sanoa että hintaluokasta riippumatta tavallinen kuluttaja on monoliittisirun käyttäjä, koska ei millään tarvitse tai ole halukas maksamaan hintaa johon tarvittaisiin useampaa. Ammattinsa semiammattikäytössä ja ehkä joillakin enthusiast luokan käyttäjillä edullisemmaksi aika usein tulee käyttää useampaa kappaletta samaa piiriä. (Jolloinka hintaluokka on siis hyvän matkaa yli sen jota normi sukankuluttaja on valmis uhraamaan tietotekniikkaan)
 
Liittynyt
14.12.2016
Viestejä
2 768
Tehän puhutte ihan eri asioista.

MCM on kallis halppispiireille kyllä, mutta mitä isompia prossuja lähdetään tekemään, sen halvemmaksi MCM muuttuu vs monoliittinen piiri. Epyc on varmaan se optimaalisin esimerkki tästä.

AMD:n tyyli ympätä piirejä yhteen on heille halpaa, koska yhden tehtaasta ulostulevan piirin käyttöskaala on Ryzen3 - Epyc, joten todella harva piiri oikeasti tuottaa sen 0, eli lentää roskiin. Samalla suunnittelukuluissa säästetään, kun kaikki muutokset valuvat koko tuoteskaalalle.

Tietty tuossa usean piirin systeemissä kuluu transistoreja hukkaan, mutta ei näitä olekkaan tarkoitettu mihinkään halpisluokkaan ja Ryzenin myyntiluvut sen kertovat, että 300-500€ prossusta ei ole mikään niche.
Juuri noin, paitsi että jotain 300-500 euron prossia myydään todella vähän. Tavallisin myytävä tietokone muisteineen, näyttöineen, pronssinen koteloinee jne. maksaa sen 300-500 egee eli saman verran kuin pelkkä Ryzen tai vaikkapa i7. Kaikki prossia joita myydään siis ihan oikeasti minimaalisia määriä verrattuna volyymituotteisiin. Toki niilläkin saa tehtyä oikeinkin hyvää tulosta viivan alle ;)
 
Liittynyt
22.10.2016
Viestejä
7 583
Eikä ole, kuluttajahintaluokassa.

Normaalit ihmiset yksinkertaisesti eivät halua maksaa niissä kalliista MCM-ratkaisuista kun halvempi yhden piilastun ratkaisu on ihan tarpeeksi nopea kaikkeen mihin he tietokoneitaan ja muita älylaitteitaan käyttävät.

Toki sitten tulee niitä ammattikäyttöjuttuja, joissa sitä laskentatehoa oikeasti tarvitaan paljon ja ollaan valmiita maksamaan siitä, ja aina löytyy pieni määrä liikaa rahaa omaavia harrastelijoita, jotka haluaa vain "nopeinta" piittaamatta siitä, onko siinä mitään järkeä ja tekevätkö he sillä oikeasti mitään.

Mutta näiden hinta sitten alkaa nousta siinä vaiheessa pilviin kun aletaan tehdä niitä järeitä MCM-ratkaisuja. Se MCM-ratkaisu vaatii myös suuren määrän pii-pinta-alaa.
Enemmän piitä on ihan validi ratkaisu, jos ei saada samale piille tulevaisuudessa enempää tavaraa. Toki hinta pitää saada alas, mutta jossainmäärinhän se laskee vääjäämättä, jos samaa tehdasta käytetään pidempään.

Se mitä kuluttajat tarvitsevat tänään ei ole sama kuin mitä kuluttajat tarvitsevat huomenna. Ja vaikka kuluttajat eivät oikeasti edes tarvisi enää ikinä yhtään enempää laskentatehoa kyllä markkinamiehet keksivät tarpeita, jotta saadaan myytyä uusia järjestelmiä

(Enemmän piitä voi kyllä tarkoittaa, enemmän dedikoituja piirejä tai vaikka fpga resursseja, tilaa ei välttämättä ole järkevä käyttää prosessorien lisäämiseen)
 
Toggle Sidebar

Statistiikka

Viestiketjut
241 140
Viestejä
4 209 494
Jäsenet
71 022
Uusin jäsen
Slerbbaliini

Hinta.fi

Ylös Bottom