Het algoritme lijkt me algemeen bekend... en als het je niet bekend is, kun je weinig zinnigs erover zeggen, sourcecode of geen sourcecode.Allereerst post je een binary zonder source code waardoor er in principe voor mensen die willen reageren er niets zinnigs valt te zeggen over jouw bevindingen.
Afgezien daarvan krijg ik niet de indruk dat de gemiddelde got'er hier programmeur is.
Daar is het ook voor.Natuurlijk kan men hier ruwe stats posten maar dat zou een opsomtopic zijn.
Ik wil graag wat informatie verzamelen over verschillende typen systemen waar ik zelf niet over beschik.
Voornamelijk nog multi-CPU systemen nu dus, en een quadcore lijkt me ook interessant om te testen, om een indruk te krijgen van hoe het algoritme schaalt naar meer dan 2 cores.
Omdat het algoritme niet vrij is, er kan en mag dus niet naar gekeken worden, en daar ben ik ook niet in geinteresseerd. Je kunt het wel door VTune halen oid, om te zien waar de bottlenecks liggen, daar heb je de source niet voor nodig, en daar zou ik erg mee geholpen zijn.Om eerlijk te zijn heb ik je programma niet kunnen draaien omdat het niet bepaald portable/hercompileerbaar is. En als het om het algoritme gaat waarom heb je dit dan niet beschikbaar gesteld zodat wij dit kunnen bekijken?
Dan heb je het verkeerd begrepen. Wat naar mijn mening helemaal nieuw is (in ieder geval in de wereld van de 'standaard'-hardware) is een multicore CPU met shared cache (okee, technisch gezien sinds de Core Duo en niet de Core2 Duo, maar Core Duo was vanwege de beperkte prestaties niet interessant, dus die heb ik overgeslagen).Je wekt de indruk met je topic dat SMP (of MCP) iets is wat helemaal nieuw is terwijl ik (en vele anderen) al vele jaren een multi core systeem heb waar ik op werk.
Ze staan helemaal niet op elkaar te wachten in de nieuwste versie. Kijk maar eens hoe bijzonder goed het schaalt tov oude singlethreaded-versie.En als je het hebt over het verwerken van MRI-scans dan kunnen daar inderdaad veel optimalisaties worden gemaakt door goed gebruik te maken van de resources. Echter vraag ik me of af het echt zinvol is om bwvs 50 threads over 1 scan te laten lopen die vervolgens de helft van de tijd op elkaar staan te wachten ivm memory-access.
De eerste versie was een test om te kijken hoe ver je kon komen, aangezien er maar beperkt gebruik wordt gemaakt van shared geheugen (hoe groter de grid, hoe minder... de grid is expres nogal klein gelaten, meestal is ie een factor 2 groter, of meer).
Lijkt me nogal onzinnig aangezien dat totaal niet in verhouding staat tot de benodigde CPU-kracht van de verschillende taken. GUI en overige services zijn sowieso verwaarloosbaar. Verwerken van data stelt ook weinig voor... je verwerkt het tijdens het scannen, en daarna ga je het bekijken. Het scannen moet toch eerst klaar zijn, anders valt er weinig te bekijken.Dan heb ik liever een zwaar quad-core systeem waar bijv. 1 core voor de GUI is, 1 voor de verwerking van de data en nog 1 voor het opbouwen van een 3D model en de rest voor de overige services van het systeem.
En dat is nou juist de vraag die ik beantwoord wil zien: In hoeverre kan dit schalen naar meerdere cores?Misschien is het systeem met 50 cores wel sneller dan een met 8 cores, alleen het rendement zou flink af kunnen nemen als er meer cores zijn.
Ik ben op zich al tevreden over de prestaties van dualcore. 40% sneller, of soms zelfs meer. En sommige CPUs gooien er in 64-bit modus ook nog een flinke schep bovenop, da's ook aardig.
Als ik bij een quadcore nog eens 80% meer krijg dan een singlecore, zou dat fantastisch zijn.
Schaalt het niet zo enorm goed, dan kun je altijd nog kijken of het handig is om dan bv 3 van de 4 cores te gaan gebruiken voor de visualisatie, en de laatste core voor de andere taken.