amdfanuwe
2021-12-21, 04:35:59
Hier können wir über AMD Patente diskutieren.
Mich beschäftigt das letzte AMD Patent:
Stacked Dies for Machine Learning Accelerator (https://www.freepatentsonline.com/20210374607.pdf)
Oberflächlich betrachtet beschreibt AMD einen ML-Speicher Chip der auf einen GPU Chip gestacked wird. Dieses Package nennt AMD APD, Accelerated Prozessing Device.
Im Text wird dann viel auf typischen GPU rumgeritten als beispielhafte Implementierung.
Punkt [0044] auf Seite 12 sollte man jedoch beachten:
... in alternate implementations, the APD die is instead a microprozessor die.
in Punkt [0050][0051] wird dann aufgezählt, dass dieses Patent oder Teile davon in vielen verschiedenen Implementierungen zum Einsatz kommen kann.
Das APD Core Die muß lediglich in der Lage sein, die ML Unit zu programmieren. Das APD Core Die könnte also auch CPU, DSP, FPGA, APU oder Semicustom Logik (ASIC) anstatt wie im Patent GPU Cores beinhalten.
Damit hätte AMD ein Schema verschiedensten Logikchips ML beizubringen.
Interessant wird das ganze in Fig. 6.
Dort werden beispielhaft 16 solcher Chips miteinander gekoppelt. Durch die Memmory/ML Chips funktioniert das ganze wie ein großer L3 Cache über den die APDs miteinander kommunizieren können.
Damit ergeben sich dann z.B. große GPUs, CPUs, FPGAs oder aber auch Mischbestückungen für heterogene Chips.
Ich denke da an APUs, großer FPGA mit CPU Chiplets oder je nach Kundenanwendung Semicustom ASICs verbunden mit CPU,GPU,FPGA Tiles.
Wird dieser Memmory/ML ein Grundbaustein für zukünftige CPU,GPU,FPGA und Semicustom Chips? Entwickelt sich AMDs Baukasten für HPC Chips in diese Richtung?
Mich irritierte Anfangs auch Fig. 5, die Konfigurierbarkeit des Memmorys.
Dadurch ergeben sich einige Vorteile. Cache muß über das System Kohärent gehalten werden. Wenn also ein Task in den Cache schreibt, muß das gesamte System über diese Änderung informiert werden, damit andere Tasks in ihren lokalen Caches korrekte Daten vorfinden. Das erzeugt in einem größerem System einiges an Kommunikationsaufwand.
Indem nun Teile des Caches als Directly Accessible konfiguriert werden, entfällt dieser Kommunikationsaufwand da dieser Teil dann nur für eine Aufgabe reserviert ist.
Ergäbe sich dadurch auch Energiesparpotential für CPUs, GPUs? Kohärenz muß ja nur für die Daten gewährleistet sein, die von verschiedenen Tasks auf mehreren Einheiten gleichzeitig bearbeitet werden.
Und wie groß ist dieser Memmory? Da der Chip auf einen anderen gestapelt wird, sollte der nicht zu groß sein. Beim ZEN 3 V-Cache wird ein 64MB Chip gestapelt. Da dürfte dieser im Patent erwähnte Memmory Chip wohl bei 64MB - 128MB liegen.
Eventuell lassen sich auch noch mehrere Memmory Chips stapeln. Muß es eigentlich SRAM sein oder wäre auch ein HBM Stack denkbar?
Ich sehe es mal so: AMD hat da noch einiges vor und man muß sich von dem Gedanken an herkömmliche CPUs, APUs, GPUs mit beschränktem Cache auf einem Chip trennen. Chiplets seit ZEN2 und stacked Caches demnächst mit ZEN3 sind nur der Anfang.
Mit leistungsfähigen CPUs, GPUs und hoffentlich bald FPGAs hat AMD ordentliche Bausteine in ihrem Baukasten die sie über (stacked) IF Cache miteinander zu einem System verknüpfen können.
Mich beschäftigt das letzte AMD Patent:
Stacked Dies for Machine Learning Accelerator (https://www.freepatentsonline.com/20210374607.pdf)
Oberflächlich betrachtet beschreibt AMD einen ML-Speicher Chip der auf einen GPU Chip gestacked wird. Dieses Package nennt AMD APD, Accelerated Prozessing Device.
Im Text wird dann viel auf typischen GPU rumgeritten als beispielhafte Implementierung.
Punkt [0044] auf Seite 12 sollte man jedoch beachten:
... in alternate implementations, the APD die is instead a microprozessor die.
in Punkt [0050][0051] wird dann aufgezählt, dass dieses Patent oder Teile davon in vielen verschiedenen Implementierungen zum Einsatz kommen kann.
Das APD Core Die muß lediglich in der Lage sein, die ML Unit zu programmieren. Das APD Core Die könnte also auch CPU, DSP, FPGA, APU oder Semicustom Logik (ASIC) anstatt wie im Patent GPU Cores beinhalten.
Damit hätte AMD ein Schema verschiedensten Logikchips ML beizubringen.
Interessant wird das ganze in Fig. 6.
Dort werden beispielhaft 16 solcher Chips miteinander gekoppelt. Durch die Memmory/ML Chips funktioniert das ganze wie ein großer L3 Cache über den die APDs miteinander kommunizieren können.
Damit ergeben sich dann z.B. große GPUs, CPUs, FPGAs oder aber auch Mischbestückungen für heterogene Chips.
Ich denke da an APUs, großer FPGA mit CPU Chiplets oder je nach Kundenanwendung Semicustom ASICs verbunden mit CPU,GPU,FPGA Tiles.
Wird dieser Memmory/ML ein Grundbaustein für zukünftige CPU,GPU,FPGA und Semicustom Chips? Entwickelt sich AMDs Baukasten für HPC Chips in diese Richtung?
Mich irritierte Anfangs auch Fig. 5, die Konfigurierbarkeit des Memmorys.
Dadurch ergeben sich einige Vorteile. Cache muß über das System Kohärent gehalten werden. Wenn also ein Task in den Cache schreibt, muß das gesamte System über diese Änderung informiert werden, damit andere Tasks in ihren lokalen Caches korrekte Daten vorfinden. Das erzeugt in einem größerem System einiges an Kommunikationsaufwand.
Indem nun Teile des Caches als Directly Accessible konfiguriert werden, entfällt dieser Kommunikationsaufwand da dieser Teil dann nur für eine Aufgabe reserviert ist.
Ergäbe sich dadurch auch Energiesparpotential für CPUs, GPUs? Kohärenz muß ja nur für die Daten gewährleistet sein, die von verschiedenen Tasks auf mehreren Einheiten gleichzeitig bearbeitet werden.
Und wie groß ist dieser Memmory? Da der Chip auf einen anderen gestapelt wird, sollte der nicht zu groß sein. Beim ZEN 3 V-Cache wird ein 64MB Chip gestapelt. Da dürfte dieser im Patent erwähnte Memmory Chip wohl bei 64MB - 128MB liegen.
Eventuell lassen sich auch noch mehrere Memmory Chips stapeln. Muß es eigentlich SRAM sein oder wäre auch ein HBM Stack denkbar?
Ich sehe es mal so: AMD hat da noch einiges vor und man muß sich von dem Gedanken an herkömmliche CPUs, APUs, GPUs mit beschränktem Cache auf einem Chip trennen. Chiplets seit ZEN2 und stacked Caches demnächst mit ZEN3 sind nur der Anfang.
Mit leistungsfähigen CPUs, GPUs und hoffentlich bald FPGAs hat AMD ordentliche Bausteine in ihrem Baukasten die sie über (stacked) IF Cache miteinander zu einem System verknüpfen können.