Author |
Message |
|
Post subject: StormC 4
Posted: Jan 11, 2004 - 19:55
|
|
Order of the Butterfly
![Order of the Butterfly Order of the Butterfly](./modules/PNphpBB2/images/ranks/icon_butterfly_silv.gif)
![](./modules/PNphpBB2/images/avatars/upload/165019242848dbb712716fc.png)
Joined: Aug 26, 2003
Posts: 1784
Location: Malmö
|
|
|
|
![](./modules/PNphpBB2/templates/PNThemePeg/images/spacer.gif) |
|
Post subject:
Posted: Jan 11, 2004 - 20:38
|
|
Order of the Pegasos
![Order of the Pegasos Order of the Pegasos](./modules/PNphpBB2/images/ranks/icon_butterfly_gold.gif)
![](http://www.ggsdata.se/Bilder/ggs78.gif)
Joined: Aug 16, 2003
Posts: 2538
Location: Göteborg
|
|
Om du har för avsikt att utveckla för MorphOS så skulle jag nog inte råda dig till att fundera över Storm C.
Storm C kan kompilera för PPC-kort till Amiga-dator, dock ej för PowerUP (om jag inte har fel här).
Jag pratade med Jurgen Haage före Jul, och de har beslutat sig för att inte supporta något av de nya systemen, varken MorphOS eller AmigaOS 4 med sin mjukvara sa han till mig då.
Men det borde väl kunna komma något snart i MorphOS SDK kanske som också supportar AltiVec ?
Eller gör det inte det ? |
_________________ Mvh Gunne
|
|
|
|
![](./modules/PNphpBB2/templates/PNThemePeg/images/spacer.gif) |
|
Post subject:
Posted: Jan 11, 2004 - 20:59
|
|
Order of the Butterfly
![Order of the Butterfly Order of the Butterfly](./modules/PNphpBB2/images/ranks/icon_butterfly_silv.gif)
![](./modules/PNphpBB2/images/avatars/upload/165019242848dbb712716fc.png)
Joined: Aug 26, 2003
Posts: 1784
Location: Malmö
|
|
Det finns AltiVec patchar till gcc 2.95.2 och binutils 2.9.1. Jag håller på att kompilera MorphOS-kompatibla versioner men har inte hunnit klart ännu. Bad någon MOS-utvecklare på MDC att fixa men han sa att han inte orkade (hmm..).
GCC 3.X har ju redan AltiVec stöd och kan optimera programkod med hjälp av det (då går binären enbart att köra på en CPU med AltiVec dock, vilket är fördelen med Gentoo iom att du kompilerar allt du installerar där). Tyvärr så verkar det ju vara problem med att få GCC 3.x att funka bra med MorphOS så det tar väl ett tag innan vi får se den .
Men tack för tipset om StormC, då ska jag inte investera i den iaf. Stog ju inte så mycket intressant på deras hemsida tyvärr. Hmm, jag undrar om vbcc stödjer AltiVec, måste kolla upp det . |
_________________ I need this baby in a month send me nine women!
|
|
|
|
![](./modules/PNphpBB2/templates/PNThemePeg/images/spacer.gif) |
|
Post subject:
Posted: Jan 11, 2004 - 22:42
|
|
Journeyman
![Journeyman Journeyman](./modules/PNphpBB2/images/ranks/icon_butterfly.gif)
Joined: Aug 19, 2003
Posts: 44
|
|
Du bör även tänka på att operativ systemet måste stödja altivec; Den senaste tilgängliga versionen av morphos gör det inte. |
|
|
|
|
![](./modules/PNphpBB2/templates/PNThemePeg/images/spacer.gif) |
|
Post subject:
Posted: Jan 12, 2004 - 10:04
|
|
Order of the Pegasos
![Order of the Pegasos Order of the Pegasos](./modules/PNphpBB2/images/ranks/icon_butterfly_gold.gif)
![](http://www.ggsdata.se/Bilder/ggs78.gif)
Joined: Aug 16, 2003
Posts: 2538
Location: Göteborg
|
|
Hej FredrikA
MorphOS-kärnan skall supporta G4 fullt ut, och även då Altivec vad jag förstått och om jag inte missuppfattat. Det är en ny kärna för Pegasos II.
Den enda applikationen jag sett hittills som använder Altivec är den dnetc som tydligen Piru hade kompilerat och som han publicerade resultat med.
Men det behöver ju givetvis finnas verktyg som gör det möjligt skapa kod. |
_________________ Mvh Gunne
|
|
|
|
![](./modules/PNphpBB2/templates/PNThemePeg/images/spacer.gif) |
|
Post subject:
Posted: Jan 12, 2004 - 14:12
|
|
Order of the Butterfly
![Order of the Butterfly Order of the Butterfly](./modules/PNphpBB2/images/ranks/icon_butterfly_silv.gif)
![](./modules/PNphpBB2/images/avatars/upload/165019242848dbb712716fc.png)
Joined: Aug 26, 2003
Posts: 1784
Location: Malmö
|
|
Är det bara påslaget av kärnan så kan man skriva AltiVec i assemblerkod och länka med sin C-kod. Då försvinner ju tyvärr lite av det fina med AltiVec som är att det är väldigt väl integrerat med C-kompilatorn iom att det finns standardiserade sätt att använda det på från C (ex. vector). Behöver ju fortfarande en kompilator som stödjer det bara, sitter och försöker få igång den AltiVec patchade gcc men den vill inte riktigt kompilera, får se om jag hinner få klart det innan skolan sätter fart igen... Får se om någon på MDC är intresserad att ta över annars...
Hmm, ska se om jag hittar nåt program som kan testa cpu-flaggor för AmigaOS som kan tala om huruvida MOS slår på AltiVec eller inte. Hittade inget på aminet dock. |
_________________ I need this baby in a month send me nine women!
|
|
|
|
![](./modules/PNphpBB2/templates/PNThemePeg/images/spacer.gif) |
|
Post subject:
Posted: Jan 12, 2004 - 14:51
|
|
Order of the Pegasos
![Order of the Pegasos Order of the Pegasos](./modules/PNphpBB2/images/ranks/icon_butterfly_gold.gif)
![](http://www.ggsdata.se/Bilder/ggs78.gif)
Joined: Aug 16, 2003
Posts: 2538
Location: Göteborg
|
|
När jag pratade med Cisc (för ganska så länge sedan) sa han att Altivec skall vara aktiverat i kärnan, och att således support finns i Quark-kärnan.
Du kan nog inte hitta något om detta på aminet, eftersom det inte funnits tidigare, utan ju är nytt, och då kan man inte titta i backspegeln.
Du bör nog som sagt försöka prata med någon på t.ex mdc ang detta med Altivec. Jag tippar på att verktygen inte är riktigt klara ännu. |
_________________ Mvh Gunne
|
|
|
|
![](./modules/PNphpBB2/templates/PNThemePeg/images/spacer.gif) |
|
Post subject:
Posted: Jan 12, 2004 - 17:02
|
|
Journeyman
![Journeyman Journeyman](./modules/PNphpBB2/images/ranks/icon_butterfly.gif)
Joined: Aug 19, 2003
Posts: 44
|
|
gunne wrote: | När jag pratade med Cisc (för ganska så länge sedan) sa han att Altivec skall vara aktiverat i kärnan, och att således support finns i Quark-kärnan.
Du kan nog inte hitta något om detta på aminet, eftersom det inte funnits tidigare, utan ju är nytt, och då kan man inte titta i backspegeln.
Du bör nog som sagt försöka prata med någon på t.ex mdc ang detta med Altivec. Jag tippar på att verktygen inte är riktigt klara ännu. |
Jag pratade med Piru på #morphos bara några dagar sedan; och enligt honom är stöds altivec inte av 1.4.x utan stöd beräknas komma i nästa version.
Dholm; nej altivec kräver att operativ systemet hanterar register backup/restore på kontext switch; annars skiter det sig om fler än två program utnyttjar altivec samtidigt. går tyvärr inte gå runt på ett avbrotts styrt multitasking system. |
|
|
|
|
![](./modules/PNphpBB2/templates/PNThemePeg/images/spacer.gif) |
|
Post subject:
Posted: Jan 12, 2004 - 17:30
|
|
Order of the Pegasos
![Order of the Pegasos Order of the Pegasos](./modules/PNphpBB2/images/ranks/icon_butterfly_gold.gif)
![](http://www.ggsdata.se/Bilder/ggs78.gif)
Joined: Aug 16, 2003
Posts: 2538
Location: Göteborg
|
|
Hej FredrikA
Ok, det borde kanske innebära att också verktyg kommer med nästa distribution, eller strax därefter. |
_________________ Mvh Gunne
|
|
|
|
![](./modules/PNphpBB2/templates/PNThemePeg/images/spacer.gif) |
|
Post subject:
Posted: Jan 12, 2004 - 17:44
|
|
Journeyman
![Journeyman Journeyman](./modules/PNphpBB2/images/ranks/icon_butterfly.gif)
Joined: Aug 19, 2003
Posts: 44
|
|
gunne wrote: | Hej FredrikA
Ok, det borde kanske innebära att också verktyg kommer med nästa distribution, eller strax därefter. |
det är inte omöjligt; tekniskt sett borde man kunna utveckla morphos program på linux (vars gcc redan har altivec stöd) (morphos använder elf så som linux; så det borde vara ganska enkelt att göra)
Annars kommer det förmodligen en uppdaterad version av gcc så småning om; jag tror dock inte altivec kommer användas så mycket av programmerare; det är mycket jobb involverat med att använda altivec; och är man inte kunnig på området så är risken stor att altivec versionen inte alls blir mycket snabbare; när det gäller altivec är det A och O att jobba hårt med cachen; samt att altivec endast accepterar 16 byte aligned data. och man bör då tänka på att om man alignerar data på 16 byte så kommer det generera undantags fel när man försöker ladda samma data med integer/fpu delen; (operativ systemet hanterar oftast detta dock) men resultatet blir fruktansvärt dålig prestanda.
Kan man däremot använda altivec så kan man accelerera vissa rutiner upp till 10 gånger i bästa fallen; oftast ligger det dock runt 2 - 3 gånger. |
|
|
|
|
![](./modules/PNphpBB2/templates/PNThemePeg/images/spacer.gif) |
|
Post subject:
Posted: Jan 12, 2004 - 18:30
|
|
Order of the Butterfly
![Order of the Butterfly Order of the Butterfly](./modules/PNphpBB2/images/ranks/icon_butterfly_silv.gif)
![](./modules/PNphpBB2/images/avatars/upload/165019242848dbb712716fc.png)
Joined: Aug 26, 2003
Posts: 1784
Location: Malmö
|
|
Ett bra exempel på vad AltiVec kan göra återfinns ju här:
http://www.iki.fi/sintonen/dnetc-peg2-vec.txt
Vad gäller 16-bits alignment så är det ju inte så farligt. SSE kräver 128-bits alignment, det är aningens knivigare. När det gäller att använda AltiVec i programmering så kan man ju alltid skriva lite AltiVec optimerade libbar som folk som inte kan AltiVec kan använda sig utav när dem kodar. Ett exempel är ju libSIMD (http://libsimd.sf.net/), tror dock inte han skrivit klart AltiVec optimeringarna i den tyvärr. |
_________________ I need this baby in a month send me nine women!
|
|
|
|
![](./modules/PNphpBB2/templates/PNThemePeg/images/spacer.gif) |
|
Post subject:
Posted: Jan 12, 2004 - 19:57
|
|
Journeyman
![Journeyman Journeyman](./modules/PNphpBB2/images/ranks/icon_butterfly.gif)
Joined: Aug 19, 2003
Posts: 44
|
|
dholm wrote: | Ett bra exempel på vad AltiVec kan göra återfinns ju här:
http://www.iki.fi/sintonen/dnetc-peg2-vec.txt
Vad gäller 16-bits alignment så är det ju inte så farligt. SSE kräver 128-bits alignment, det är aningens knivigare. När det gäller att använda AltiVec i programmering så kan man ju alltid skriva lite AltiVec optimerade libbar som folk som inte kan AltiVec kan använda sig utav när dem kodar. Ett exempel är ju libSIMD (http://libsimd.sf.net/), tror dock inte han skrivit klart AltiVec optimeringarna i den tyvärr. |
Visst; apple har en likande libbar; vecLib tex. (jag har inte användt det själv dock; utan skrivet det mesta altivec från "scratch" när jag användt det.)
Angånde 16-bytes alignment (inte bits så är det inte själva "avståndet" isig utan det faktum att PowerPC:n inte kan addressera unaligned minne; Altivec vill ha 16 bytes (128 bits) alignment; FPU och Integer delarna 4 bytes (16 bits) alignment; om du försöker addressera 16 byes alignment med integer eller FPU går det oftast då 16 bytes aligned data ligger på "4 bytes alignment" men vice versa kan det vara svårare; vad som händer då (men jag antar att du redan vet det) är att processorn genererar ett undantag (exception) och det är upp till operativ systemet att aligna datan; vilket är ganska kostsamt (inte om det händer någon gång ibland, men i en loop tex märks det direkt om man inte har aligned data; det kan gå mellan 20-50 gånger långsammare per "loop"; och det gör ganska snart en skillnad på sekunder även i kortare loopar (ie. lägre antal loopningar).
Annars kan naturligtvis operativ systemet isjälv använda altivec för att indirekt accelerera alla processer oavsett ursprungs teknologi; tex. memcpy/memmove kan "optimeras" ganska bra med hjälp av altivec; memset lika så (vec_perm kan användas), samt många grafik och ljud operationer kan accelereras ganska bra. (detta är bara några exempel)
Iövrigt är G4:n inte märkvärt snabbare än G3:n vilket jag sagt några gånger förut. (förutom FPU:n är lika snabb på doubles som på floats; vilket inte var/är fallet med G3:n)
Så altivec optimeringar är vad man ska satsa på om man har G4:a, det är det som får den att "flyga"; det är synd att det förnärvarande inte finns någon billig/gratis auto vektoriserings program för altivec; det hadde gjort processen mycket lättare (även om slut resultatet inte blir riktigt lika bra som "hand skriven altivec")
V.A.S.T verkar dock generera skaplig kod vad jag sett hittils, men det är fruktansvärt dyrt. |
|
|
|
|
![](./modules/PNphpBB2/templates/PNThemePeg/images/spacer.gif) |
|
Post subject:
Posted: Jan 16, 2004 - 15:34
|
|
Order of the Butterfly
![Order of the Butterfly Order of the Butterfly](./modules/PNphpBB2/images/ranks/icon_butterfly_silv.gif)
![](./modules/PNphpBB2/images/avatars/upload/165019242848dbb712716fc.png)
Joined: Aug 26, 2003
Posts: 1784
Location: Malmö
|
|
|
|
![](./modules/PNphpBB2/templates/PNThemePeg/images/spacer.gif) |
|
Post subject:
Posted: Jan 16, 2004 - 16:38
|
|
Journeyman
![Journeyman Journeyman](./modules/PNphpBB2/images/ranks/icon_butterfly.gif)
Joined: Aug 19, 2003
Posts: 44
|
|
dholm wrote: | Du verkar ju kunna en hel del om AltiVec FredrikA. Kan du rekommendera någon bra guide, doc eller liknande? (Förutom referensmanualen för den har jag redan ![Smile](./modules/PNphpBB2/images/smiles/icon_smile.gif) |
Apples dokumentation är ganska bra samt deras exempel, annars är bästa sättet att leka med det, men du bör tänka på att altivec är ganska känsligt för "stall"; det underlättar om du utvecklar under linux eller macos x som båda har simG4 (en G4 simulator som kan ge dig cykel exact information om hur ditt program går på G4:n, inte bara altivec, men det är för altivec det är särskilt användbart.)
Men som sagt jag tror bästa sättet är att leka runt med det; det är synd att inte morphos har en debugger för lågnivå programmering blir betydligt enklare då man smidigt kan kolla direkt på register odyl. men det verkar tyvärr så att morphos utvecklarna inte bryr sig om att släppa en debugger; varför kan man spekulera om, presonligen tror jag det är en mycket (i mina ögon) larvig anledning, vilket jag också tror kommer få morphos att dö till slut, anledningen vill jag inte nämna efter som jag vet att det skapar debatter direkt, jag råkade säga min teori på #morphozone en gång och det vart världens liv.)
Iallafall; lycka till med altivec! ![Smile](./modules/PNphpBB2/images/smiles/icon_smile.gif) |
|
|
|
|
![](./modules/PNphpBB2/templates/PNThemePeg/images/spacer.gif) |
|
Post subject:
Posted: Jan 16, 2004 - 17:34
|
|
Order of the Pegasos
![Order of the Pegasos Order of the Pegasos](./modules/PNphpBB2/images/ranks/icon_butterfly_gold.gif)
![](http://www.ggsdata.se/Bilder/ggs78.gif)
Joined: Aug 16, 2003
Posts: 2538
Location: Göteborg
|
|
Hej FredrikA
Det brukar ju oftast finnas en anledning till att saker sker eller inte sker, tror jag i vartfall.
Och du kan ju lägga fram dina teorier här på pegasos.org istället om du vill. Det är ju alltid bra att diskutera saker med varandra. Och kanske lättare också att pröva olika idéer när man kan skriva på sitt eget språk mm. Så fram med tankarna ![Smile](./modules/PNphpBB2/images/smiles/icon_smile.gif) |
_________________ Mvh Gunne
|
|
|
|
![](./modules/PNphpBB2/templates/PNThemePeg/images/spacer.gif) |
|