Wiesi21 schrieb:
tut mir leid, aber das ist einfach nicht richtig.
Die Spezifikationen sind eindeutig.
Wiesi21 schrieb:
OpenCL wird ja nur benötigt, um die Hersteller dazu zu bringen ihre Grafikhardware um die benötigten Features zu erweitern, da sie bisher einfach noch zu eingeschränkt dafür sind. (Man hat dann einfach noch mehr mögliche Shader, da die Graka ja hierüber programmiert wird)
ein x86 Prozessor kann solche Berechnungen in Software ohnehin tätigen... (die DX10 Softwarerenderingschnittstelle läuft bereits auf allen Prozessoren, und Larrabee wird nur die Geschwindigkeit von unbrauchbar auf spielbar beschleunigen, da er pro Kern 4*mehr Ausführungseinheiten besitzt als ein heutiger i7, ne weit kürzere Pipeline, schnellere GRam Anbindung und einige beschleunigende special Function Units.)
Nope. Erstmal wird die Hardware um nichts erweitert. OpenCL bietet die Möglichkeit, die Funktionalität über bisherige Möglichkeiten hinaus, zB OpenGL Shader, zu nutzen. OpenCL ist sozusagen deshalb entstanden, um dem Programmierer ein weiteres Paradigma auf High Level Ebene zu ermöglichen. Welches zB ISO C fehlt. x86 hat damit gar nichts zu tun. Theoretisch kannst du auch deinen Toaster mit C programmieren. Und daher wird Larrabee die x86 Kompatibilität diesbezüglich auch nicht helfen. Es geht eben nicht um Hardware Support, sondern um erforderliche sprachliche Paradigmen.
Wiesi21 schrieb:
OpenCL basiert auf C, was aber nur bedeutet, dass es sich ähnlich programmieren lässt, nicht mehr nicht weniger. Open CL kann man vielleicht in Zukunft auch in Java programmieren
Gut möglich. Paradigmen sind schliesslich nicht auf eine Sprache beschränkt. Momentan ist das aber nicht der Fall und die Spezifikation auch nicht dementsprechend verabschiedet. Insofern ist es völlig legitim, OpenCL als C99 Erweiterung für parallele Programmierung zu sehen.
Und nochmal, das ist immer noch kein Vorteil für die x86 Kompatibilität. Solche Sprachen arbeiten portabel, sind also auf keine konkrete Architektur festgelegt. Das heisst also noch lange nicht, dass die jeweilige Sprache diesbezüglich für x86 besser geeignet ist als zB für ATIs oder nVidias Architektur. Das wiederum hängt vielmehr von der gesamten erforderlichen Funktionalität ab als dem Vorhandensein eines prallelen Programmiermodells.
Wiesi21 schrieb:
Ich bin jetzt zwar schon länger weg von C, aber ich frage mich wo du Probleme bei der Parallelprogrammierung siehst?
Nun, ich bin immer noch sehr intensiv mit C und C++ tätig.
Und die Problematik ist ja nicht neu. Dies zu erläutern, würde den Rahmen aber hier sprengen. Wenn es dich interessiert, würde ich empfehlen, dich mal in Lösungen wie Cilk, UPC oder ähnlichem einzulesen. Die Idee hinter OpenCL ist ja nicht neu.
Nur mal ein Beispiel, du lässt zwei Berechnungen durchführen, A und B. Der Compiler kann aber nicht immer zweifelsfrei feststellen, ob er dies parallel durchführen kann, zB aufgrund von zur Übersetzungszeit nicht aufzulösenden Abhängigkeiten. Hier muss man entsprechende Hilfestellung geben. ISO C unterstützt sowas aber nicht.
Wiesi21 schrieb:
Die Rechenlast kann ich schon von der Programmierung her, auf viele Threads aufteilen, der Compiler "übersetzt" dann eben noch. dies reicht bei x86 eben schon aus
Auf Kern Ebene ja, aber nicht auf ALU Ebene. Es macht keinen Sinn, zB 16 Multiplikationen auf 16 Threads zu verteilen. Der dafür notwendige Overhead ist so gross, dass man diese 16 Operationen schneller und effizienter in einem Thread berechnen kann. Und viel mehr als ein Vec16 Rechenwerk ist ein Larrabee Kern letztendlich nicht. Etwas überspitzt formuliert.
FKorni schrieb:
Ja alles skalliert nur bis zu einer gewissen Anzahl von Kernen, aber was hat das mit der Anzahl der Grafikkarten zu tun? Dann berechnet jede ihrenen eigenen Teil, von daher ist das völlig egal wie gut die Karte mit mehr Kernen skalliert, da man ja dann 2x32 Kerne hat und nicht 64Kerne...
Und der Unterschied ist konkret welcher? Ich gehe mal davon aus, Intel wird schon wissen, was sie da ermittelt haben. Und ob die 64 Kerne nun auf einer Karte oder mehreren verbaut sind, ist daher erstmal unerheblich. Für alles weitere würde ich vorschlagen, du wartest ab, bis es diese Karten zu kaufen gibt. Dann kannst du immer noch darüber philosophieren, wie die Unterschiede zwischen einer und mehreren Karten bezüglich Skalierung ausfallen.
FKorni schrieb:
Ich halte es auch nicht für unwahrscheinlich das Larrabee schon in 32nm kommt
Nochmal das Design neu aufsetzen? Wenn man sich bis weit 2010 hinein oder gar 2011 Zeit lässt, gut möglich.
FKorni schrieb:
Ein größerer Chip bedeutet nicht zwingend höherer Stromverbrauch
Wo habe ich etwas von höherem Stromverbrauch geschrieben? Und in Bezug wozu?