www.pegasos.org

Programmering - StormC 4

dholm - Jan 11, 2004 - 19:55
Post subject: StormC 4
Är det värt att lägga 50EUR på StormC 4? Stödjer StormGCC AltiVec?
gunne - Jan 11, 2004 - 20:38
Post subject:
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 ?
dholm - Jan 11, 2004 - 20:59
Post subject:
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 Sad.

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 Wink.
FredrikA - Jan 11, 2004 - 22:42
Post subject:
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.
gunne - Jan 12, 2004 - 10:04
Post subject:
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.
dholm - Jan 12, 2004 - 14:12
Post subject:
Ä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.
gunne - Jan 12, 2004 - 14:51
Post subject:
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.
FredrikA - Jan 12, 2004 - 17:02
Post subject:
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.
gunne - Jan 12, 2004 - 17:30
Post subject:
Hej FredrikA

Ok, det borde kanske innebära att också verktyg kommer med nästa distribution, eller strax därefter.
FredrikA - Jan 12, 2004 - 17:44
Post subject:
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.
dholm - Jan 12, 2004 - 18:30
Post subject:
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.
FredrikA - Jan 12, 2004 - 19:57
Post subject:
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 Smile 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.
dholm - Jan 16, 2004 - 15:34
Post subject:
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
FredrikA - Jan 16, 2004 - 16:38
Post subject:
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


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
gunne - Jan 16, 2004 - 17:34
Post subject:
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
FredrikA - Jan 16, 2004 - 22:19
Post subject:
[quote="gunne"]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[/quote

Gunne, jo jag håller med; ivilket fall man kan igrovt sätt säga att min teori utgår från att morphos är mer av ett redskap att tävla med amiga,inc än att skapa ett innovativt nytt operativ system.
jag har pratat med några i morphos teamet; och utav dem jag talat med är det en person som mer eller mindre verifierat min teori som korrekt; vilket jag tycker är synd; morphos kunde vara betydligt intressantare om det gick vidare; utvecklade QBOX (vilket för mig kommer vara vaporware tills dess det går utveckla för det).
Jag har inte som syfte att klanka ner på amiga användare; mitt syfte är att amigaos är gammalt (och utan tvivel var det före sin tid då det släpptes) men idag är det inte längre speciellt spektakulärt eller enastånde; morphos är för mig en leksak framtills dess det har dom finnesser ett "modernt operativ system" ska ha; skyddat minne osv.
Viss är det bra att "A/Box" är amiga kompatibelt men det hjälper inte QBox (om den verkligen existerar) för just nu fungerar programmet även om man använder "dåliga" tekniker (sett från ett system med minneskydd perspektiv); personligen tycker jag morphos har mycket att vinna på att utveckla QBox istället för ABox. hur som helst detta är bara en del av min teori, jag vet iallafall en utvecklare för morphos som inte håller med mig, jag vet också en annan som delvis håller med. Smile

Summeringen är den att AmigaOS var imponerande när det släpptes, idag saknas mycket.
gunne - Jan 16, 2004 - 23:10
Post subject:
Jo, det ligger väl en del uns av sanning i vad du säger, samtidigt inte.... Smile

Vilket du kanske egentligen kommer fram till ungefär samma slutsats som jag som det också verkar.

Allting är ju alltid relativt till något, för det mesta, så också med MorphOS givetvis. Och människor är olika och har också olika vilja.

För en del människor kanske MorphOS är vidareförädlingen av AmigaOS ifrån den klassiska Amigadatorn, för andra innebär det något annat.

Ursprungligen när projektet startades så var det starkt förknippat med den klassiska Amigadatorn, och också personer som då figurerade som officiella företrädare för Amiga vart inblandade.

Tider förändras dock, och utveckling fortskrider. För en del är säkert Abox fortfarande en väldigt stor och viktig del i MorphOS, för andra en mindre och också mindre viktig del.

Dock är fortfarande en hel del Amiga applikationer en viktig del i konceptet. Det finns många duktiga krafter inom Amiga & MorphOS-communityn, och som på olika sätt känner sig förknippade med communityn.

Att riktigt försöka förstå alla turer som skett och sker, kan man nog bara göra om man varit starkt involverad i vad som skett ifrån c:a -95 (kanske längre bakåt) och framåt och till idag. Hoppar över att skriva något om det.

Det som bplan och MorphOS-utvecklarna med Pegasos och MorphOS skapat är enastående, utifrån de förutsättningarna man jobbat, med i stort sett helt utan några ekonomiska resurser.

Pegasos är nu med Pegasos II den första 'öppna' PowerPC-plattformen som existerar i stort sett.

Jag ser dock framåt, och det gäller att försöka locka nytt folk som kan komma med nya influenser och idéer. Och det är givetvis som du säger också helt riktigt att det måste komma möjligheter att utveckla för Qbox mfl saker. Jag kan dock inte skissera framtiden då jag inte har någon kristallkula i sådant. Är det dock fler som får intresse i Pegasos-hårdvaran är jag övertygad om att en sådan utveckling kommer.

Det är alltså fortfarande bara i sin linda.

Jag vet inte om detta gett dig något, men det är bra att det kommer nya idéer och tankar, det är vad som behövs för fortsatt utveckling.
FredrikA - Jan 17, 2004 - 16:36
Post subject:
gunne wrote:
Jo, det ligger väl en del uns av sanning i vad du säger, samtidigt inte.... Smile

Vilket du kanske egentligen kommer fram till ungefär samma slutsats som jag som det också verkar.

Allting är ju alltid relativt till något, för det mesta, så också med MorphOS givetvis. Och människor är olika och har också olika vilja.

För en del människor kanske MorphOS är vidareförädlingen av AmigaOS ifrån den klassiska Amigadatorn, för andra innebär det något annat.

Ursprungligen när projektet startades så var det starkt förknippat med den klassiska Amigadatorn, och också personer som då figurerade som officiella företrädare för Amiga vart inblandade.

Tider förändras dock, och utveckling fortskrider. För en del är säkert Abox fortfarande en väldigt stor och viktig del i MorphOS, för andra en mindre och också mindre viktig del.

Dock är fortfarande en hel del Amiga applikationer en viktig del i konceptet. Det finns många duktiga krafter inom Amiga & MorphOS-communityn, och som på olika sätt känner sig förknippade med communityn.

Att riktigt försöka förstå alla turer som skett och sker, kan man nog bara göra om man varit starkt involverad i vad som skett ifrån c:a -95 (kanske längre bakåt) och framåt och till idag. Hoppar över att skriva något om det.

Det som bplan och MorphOS-utvecklarna med Pegasos och MorphOS skapat är enastående, utifrån de förutsättningarna man jobbat, med i stort sett helt utan några ekonomiska resurser.

Pegasos är nu med Pegasos II den första 'öppna' PowerPC-plattformen som existerar i stort sett.

Jag ser dock framåt, och det gäller att försöka locka nytt folk som kan komma med nya influenser och idéer. Och det är givetvis som du säger också helt riktigt att det måste komma möjligheter att utveckla för Qbox mfl saker. Jag kan dock inte skissera framtiden då jag inte har någon kristallkula i sådant. Är det dock fler som får intresse i Pegasos-hårdvaran är jag övertygad om att en sådan utveckling kommer.

Det är alltså fortfarande bara i sin linda.

Jag vet inte om detta gett dig något, men det är bra att det kommer nya idéer och tankar, det är vad som behövs för fortsatt utveckling.


Jo jag tror på det du säger, min poäng är dock den att jag tror morphos snöar in sig självt ioch med att jobba "bakåt" snarare än framåt,
För att vidare utveckla; om man använder dom utvecklings resurser som finns för morphos idag; och skriver ett program för morphos... så har slut produkten man skrivit ingen större fördel jämnt emot andra AmigaOS program (förutom att det förmodligen är PPC nativt.); programmet körs i ABOX; om vi nu säger att utvecklingen av QBox tar fart; så börjar utvecklingen av programmen från noll igen; alltså QBox kommer inte kunna köra ABox program osv; Det jag hela tiden pressat på är att om QBox ska kunna utvecklas och bli framgångsrikt måste utvecklare kunna skriva program till det långt innan det blir tillgänglig för vanliga användare. (att kolla på hur apple har gjort är en mycket bra ide; dom började skicka ut OS X SDKs till utvecklare 4 år innan OS X släpptes; att bara släppa ett system och säga "detta system har alla finnesser vi alltid drömt om" funkar inte då det inte finns några program för det.
Summeringen av detta är att ju längre morphos är "ABox only" ju svårare kommer det bli att gå vidare med systemet; integrera nya finnesser osv, samtidigt förstår jag inte deras argument för att inte släppa ett MMU API; då program som utnyttjar det kommer sluta fungera i en framtida version av morphos; so what ? det sättet som Amiga/Morphos program använder för att kommunicera via varandra (IPC) kommer definitivt inte fungera i ett system med minneskydd; men det finns fortfarande inget "legalcy" kommunikations system på ABox som skulle tekniskt sätt kunna göra ABox binärer kompatibla med ett eventuellt QBox; varför tänker inte morphos utvecklarna framåt istället för bakåt ? personligen ser jag inte speciellt stor nytta med att kunna köra Raytracers, och annat från 97 när man kunde få program som är skapade för dagens system på morphos. Samtidigt är det bra att gammla amiga program fungerar; men som sagt det fungerar nu, det är dags att titta framåt; tiden bakåt sträcker sig bara till amigans barndom; tiden framåt är obegränsad.
gunne - Jan 17, 2004 - 22:12
Post subject:
Hej igen FredrikA

Kul att du tror på mig. Och jag tycker nog det ligger lite i det du säger om att titta bakåt istället för framåt.

Jag tror dock det är viktigt för dig att förstå att det har sin förklaring om man tittar just bakåt.

Jag skulle också vilja flika in här att det är inte förräns nu med Pegasos II som Genesi & bplan kan säga att man har en riktigt solid produkt. Hela processen fram till Pegasos II kan man se som en utvecklingsfas. Man hade säkert förhoppning att det skulle gått smidigare och snabbare med Pegasos 1, det blev ju trots allt en del pengar investerade i denna utvecklingen och för att få fart på det hela utifrån det grundläggande arbetet som bplan redan tidigare gjort. Och de problemen man från Genesi sida stötte på med Pegasos 1 ledde till att man fick designa en helt ny hårdvara med Pegasos II.

Jag vill inte fördjupa mig i detta, då det varit diskuterat så mycket i olika forum och i olika sammanhang redan.

Fortfarande är ju dock Pegasos 1 en bra plattform att ha för att t.ex utveckla på, och det kommer kunna bli fler sådana system fria iom att fler Pegasos II kommer ut.

Det faktum att Pegasos inte är så intimt förknippat med Amiga är nog det som för mig personligen innebär att jag själv vill se med framförsikt på både Pegasos och då också på MorphOS.

Nu till Qbox. Jag vet inte hur långt man ifrån bplan har detta utvecklat, om äns något reellt ännu. Vad jag förstår är dock att Abox på sikt skall bli en fristående box som man kan slå av/på ifrån Os:et.

Och jag förstår att många, som t.ex du här framför, skulle sett att man kommit längre än man gjort. Och jag förstår vad du skriver här, och det stämmer säkert också vad du skriver. Jag kan inte svara på varför man inte släpper ut mer information än vad man gör, man kanske inte känner sig mogen för det ännu.

Men att program eller programkonverteringar görs för PPC är ett stort framsteg bara det som jag ser det, även om de nu körs i Abox. Hade man inte haft Abox och jitemuleringen hade man nästintill inte haft någon mjukvarubas att tillgå överhuvudtaget i dagsläget. Man hade inte kunna haft mjukvarupaketet Super Bundle t.ex, och många andra applikationer hade heller inte funnits.

Dessa kommer ju fortfarande kunna köras i Abox, när nästa steg i utvecklingen är realitet som jag förstår det.

Det enda vi nu kan hoppas på är att detta avbräcket som lite skedde med Pegasos 1 inte innebär att resurserna och krafterna nu inte räcker till för att fortsätta avancera framåt nu med Pegasos II.

Det är nu som det börjar gå att se framåt på riktigt, och börja föra plattformen framåt på riktigt.
Trizt - Jan 18, 2004 - 10:35
Post subject:
gunne wrote:
Det enda vi nu kan hoppas på är att detta avbräcket som lite skedde med Pegasos 1 inte innebär att resurserna och krafterna nu inte räcker till för att fortsätta avancera framåt nu med Pegasos II.


Det här är nått som jag alltid fruktar för, för många Amiga projekt har dött och då blir slut användarna kvar med en hårdvara som sakta men säkert kommer att bli förlegad.

Det som oroar mig mest är att Pegasos har sin egen CPU slot och utan Genesi så kommer inga nya CPU kort. Det hade kännts mycket tryggare ifall man haft samma CPU slot som dagens Mac har (har för mig de fortfarande hade CPU:n på eget kort), för då hade man inte varit lika beroende av Genesi.
dholm - Jan 18, 2004 - 11:15
Post subject:
Jag håller med om att det hade varit bra med en standardiserad CPU-slot. Men sen är frågan hur länge till Apple kommer att använda sig av G4 och om vi kommer se snabbare G4:or i framtiden eller om utvecklingen går över till G5.
FredrikA - Jan 18, 2004 - 18:31
Post subject:
Trizt wrote:
gunne wrote:
Det enda vi nu kan hoppas på är att detta avbräcket som lite skedde med Pegasos 1 inte innebär att resurserna och krafterna nu inte räcker till för att fortsätta avancera framåt nu med Pegasos II.


Det här är nått som jag alltid fruktar för, för många Amiga projekt har dött och då blir slut användarna kvar med en hårdvara som sakta men säkert kommer att bli förlegad.

Det som oroar mig mest är att Pegasos har sin egen CPU slot och utan Genesi så kommer inga nya CPU kort. Det hade kännts mycket tryggare ifall man haft samma CPU slot som dagens Mac har (har för mig de fortfarande hade CPU:n på eget kort), för då hade man inte varit lika beroende av Genesi.


Apple har många olika CPU lösningar; på tidiga G4:or var det ZIF, sedan något slags dotterkort; på G5:n tror jag det är något ZIF liknande igen (det är ivarjefall inget dotterkort.)
All times are GMT + 1 Hour
Powered by PNphpBB2 © 2003-2004 The PNphpBB Group
Credits