Tesla ist der Name einer Produktlinie mit stark parallelisiertem Design, auch Streamprozessor genannt, der Firma Nvidia. Die auf GPU-Technik basierenden Prozessoren können durch die hauseigene CUDA-API und OpenCL angesprochen werden. Das Produkt stand in direkter Konkurrenz zu FireStream bzw. FirePro[1] des Konkurrenten AMD.
Nachdem die ersten Karten Mitte 2007 auf Basis der G80-GPU vorgestellt wurden, folgten ein Jahr später Tesla-Karten mit dem GT200-Grafikchip, der auch für Desktopgrafikkarten der Geforce-200-Serie genutzt wird.
Unter dem Codenamen „Fermi“ stellte Nvidia am 30. September 2009 auf der hauseigenen „GPU Technology Conference“ den Grafikprozessor der nachfolgenden Generation vor, der in Produkten wie Tesla, Quadrokarten und in abgewandelter Form (z. B. bei Double Precision beschnitten)[2] auch in der Geforce-400-Serie verwendet wird. Teslakarten auf Basis des Fermi-Grafikprozessors kündigte Nvidia auf der Supercomputing-Messe 09 für das zweite und dritte Quartal 2010 an.[3] Die Linie wurde aufgrund der Verwechselungsmöglichkeit mit dem gleichnamigen Automobilhersteller im Mai 2020 beendet.
Mit aktuelleren Treibern wurden die Möglichkeiten in OpenGL, CUDA und OpenCL zum Teil erheblich erweitert.[4][5][6]
Der G80-Grafikprozessor war der erste Prozessor von Nvidia, der auf der neuentwickelten Unified-Shader-Architektur basierte. Nachdem der G80 seit Ende 2006 auf den Geforce-Grafikkarten 8800 GTX und GTS verbaut wurde, stellte Nvidia erste Teslamodelle Mitte 2007 vor. Dabei wird primär der G80 im A3-Stepping verwendet, wie er auf der Geforce 8800 Ultra verbaut wurde.
Der GT200-Prozessor war der zweite Chip, den Nvidia auf der Teslaserie verbaute. Im Gegensatz zum G80 plante Nvidia von Anfang an mit dem Einsatz auf den Teslamodellen (daher das T in der Kennung) und implementierte die Double-Precision-Fähigkeiten über 30 zusätzliche MADD-Einheiten nach der IEEE-754R-Spezifikation, was für die Geforce-Grafikkarten nicht notwendig gewesen wäre.
Der Fermikern wird im 40-nm-Fertigungsprozess hergestellt und verfügt über rund drei Milliarden Transistoren. Er ist, im Gegensatz zu seinem Vorgänger, dem GT200, in weiten Teilen eine Neuentwicklung auf Basis der Unified-Shader-Architektur des G80-Grafikprozessors. Fermi ist in 16 Shadercluster unterteilt, wobei jeder Cluster über 32 Streamprozessoren verfügt. Damit sind insgesamt 512 Streamprozessoren vorhanden. Der Fermi-Chip verfügt über 16 „Load/Store“-Einheiten sowie vier separate „Special Function Units“ zur Sinus- und Kosinus-Berechnung. Des Weiteren sind auf dem Fermikern sechs 64-Bit-Speichercontroller für GDDR5-Speicher vorhanden, woraus ein 384-Bit-Speicherinterface resultiert. Dieses ermöglicht den Ausbau des Speichers auf 1,5 GB, 3 GB und 6 GB. Die Speichercontroller können nun auch mit ECC-Speicher umgehen, der eine eigene Fehlerkorrektur aufweist.
Nvidia misst dem GPU-Computing inzwischen eine immer größere Bedeutung zu, weshalb viele Architekturänderungen des Fermikerns zur Leistungsverbesserung in diesem Bereich durchgeführt worden sind. So verfügt Fermi als erster Grafikprozessor überhaupt über eine komplette Unterstützung von C++ und ist mit dem IEEE-754-2008-Standard vollständig kompatibel (vorher noch IEEE-754-1985). Letzteres wurde notwendig, um zur Verbesserung der Double-Precision-Fähigkeiten (Rechnen mit doppelter Genauigkeit) das gegenüber MAD genauere FMA (Fused Multiply-Add) verwenden zu können. Dadurch kann jeder Shadercluster des Fermikerns 16 Operationen mit doppelter Genauigkeit pro Taktzyklus ausführen. Damit kann Fermi insgesamt 256 Berechnungen mit doppelter Genauigkeit pro Takt ausführen, wohingegen auf dem GT200 nur 30 möglich waren. Ebenfalls zur Verbesserung der GPU-Computing-Fähigkeiten weist der Fermi-Grafikprozessor neben dem Shared Memory auch einen L1- und L2-Cache auf.
Am 22. März 2012 präsentierte Nvidia mit der Geforce GTX 680 die erste Grafikkarte der Geforce-600-Serie, mit der die neue Kepler-Architektur eingeführt wurde. Die Geforce GTX 680 basiert auf dem GK104-Grafikprozessor, der aus 3,54 Mrd. Transistoren besteht, sowie 1536 Streamprozessoren und 128 Textureinheiten, die in acht Shader-Clustern organisiert sind. Die GK104-GPU wird im 28-nm-Fertigungsprozess bei TSMC hergestellt und kommt auf eine Die-Fläche von 294 mm². Ursprünglich war der GK104 als Grafikchip für den Performance-Sektor geplant gewesen, was sich u. a. an der reduzierten „Double-Precision“-Leistung erkennen lässt. Nachdem Nvidia den GK100-Grafikprozessor zu Gunsten des GK110 strich, musste der GK104 auch für den High-End-Sektor verwendet werden, da der GK110 erst für die Kepler-Refresh-Generation zur Verfügung stehen sollte.
Die GK110-GPU ist mit 7,1 Mrd. Transistoren auf rund 561 mm² (533 mm² im produktionsoptimierten B1-Stepping) der größte und komplexeste Grafikprozessor der Keplergeneration. Er besteht aus 2880 Shader- und 240 Textureinheiten, die auf 15 SMX-Blöcken (Shader-Cluster) verteilt sind. Diese wiederum sind auf fünf Graphics Processing Clusters verteilt, wodurch der GK110 ein Verhältnis von 3:1 aufweist (im Gegensatz zu den restlichen Grafikprozessoren der Keplergeneration, die ein Verhältnis von 2:1 verwenden). Eine weitere Besonderheit des GK110 stellen die zusätzlichen 64 separate ALUs pro SMX-Block dar, die aber nicht für die Single-Precision- (FP32), sondern für die Double-Precision-Operation (FP64) zuständig sind. Ebenfalls für die professionellen Bereich gedacht und nur auf der GK110-GPU vorhanden sind die Features „Dynamic Parallelism“, „Hyper-Q“ und „GPUDirect“.
Für die Tesla-Serie wurde wegen der Limitierung der Maxwell-Architektur eine verbesserte Version des GK110 entworfen, den GK210-Grafikprozessor.[7]
Der GM200-Grafikprozessor fungiert auch als High-End-Chip der Geforce-900-Serie und löste in dieser Funktion die GK110-GPU der Geforce-700-Serie ab. Der GM200 besitzt 8 Milliarden Transistoren auf einer Chipfläche von 601 mm², womit er der bis dahin größte und komplexeste Grafikprozessor am Markt war. Aus technischer Sicht stellt der GM200 mit 96 Raster-, 3072 Shader- und 192 Textureinheiten eine um 50 % vergrößerte Variante des GM204 dar.[8] Damit unterscheidet er sich aber auch maßgeblich von seinen Vorgängern: Die GF100-, GF110- oder GK110-GPUs verfügten noch über erweiterte Double-Precision-Fähigkeiten (FP64) und wurde auch auf den Profiserien Quadro und Tesla eingesetzt. Dafür waren auf dem GK110 z. B. in jedem SMX-Block zusätzlich 64 separate ALUs verbaut, wodurch dieser eine DP-Rate von 1/3 erreicht hatte. Da auf den GM200 diese separaten ALUs fehlen (sie sind vermutlich aus Platzgründen gestrichen worden, da die Produktion von Grafikprozessoren mit einer Größe von über 600 mm² aus technischen und wirtschaftlichen Gründen kaum möglich ist),[8] verfügt dieser nur über eine DP-Rate von 1/32. Da Double-Precision-Operationen für 3D-Anwendungen nicht benötigt werden, spielte dieser Aspekt im Gamingsektor keine Rolle, machte den GM200 aber wenig geeignet für die Profiserien Quadro und Tesla.
Deshalb wandte sich Nvidia von seiner bisherigen Strategie ab, einen High-End-/Enthusiasten-Chip für alle drei Serien zu entwickeln, und setzte den GM200 nur für die Tesla M40 ein. Für die Tesla K80 wurde stattdessen eine verbesserte Version des Kepler GK110 entworfen, der GK210-Grafikprozessor.
Der GM204-Grafikprozessor war die erste GPU der Geforce-900-Serie und verwendet die „Maxwell-Architektur der zweiten Generation“. Wie bereits bei der ersten Kepler-Generation, der Geforce-600-Serie, schickt Nvidia den Performance-Chip (GM204) vor dem High-End-Chip (GM200) auf den Markt. Nachdem Nvidia genau wie AMD auf die 20-nm-Fertigung bei TSMC verzichtet hat, wird der GM204 entgegen ursprünglichen Planungen weiterhin in 28-nm-Fertigung hergestellt. Er besitzt 5,2 Milliarden Transistoren auf einer Chipfläche von 398 mm². Der grundsätzliche Aufbau ist mit dem der GM107-GPU der ersten Maxwell-Generation identisch: Die Shader-Cluster (SMM) enthalten weiterhin 128 Shader- und 8 Textureneinheiten, allerdings wurde der Level-1-Cache von 64 kByte auf 96 kByte und der Texturen-Cache von 24 kByte auf 48 kByte pro Cluster erhöht. Insgesamt besteht der GM204 aus 16 Shader-Clustern, wobei je vier Cluster an einer Raster-Engines hängen, womit der GM204 über 2048 Streamprozessoren, 128 Textureinheiten, 64 ROPs und einen 2 MB großen Level-2-Cache verfügt.[9] Um das, im Verhältnis zu anderen GPUs dieser Klasse, kleine Speicherinterface von 256 Bit auszugleichen, führte Nvidia das Feature „Third Generation Delta Color Compression“ ein, wobei es sich um einen Bandbreitenschoner handelt, der die Speicherbelastung um rund 25 % senken soll.
Wegen der Limitierungen in der Double Precision-Leistung auf 1/32 von Single Precision werden die Tesla-K-Karten mit Kepler-Architektur mit ihrer dort höheren Leistung weiterhin angeboten.
Pascal-Chips laufen unter der Bezeichnung „GP100“ und sollen sich dank ihrer hohen Rechenleistung und Effizienz besonders gut fürs High Performance Computing und Deep Learning eignen. Nvidia stellte mit dem Tesla P100 den ersten Rechenbeschleuniger mit GP100-Chip im Frühjahr 2016 auf der GPC 2016 vor. Pascal soll mittelfristig Kepler- und Maxwell-Grafikchips im Profi-Bereich ablösen. Der GP100 besteht aus 15 Milliarden Transistoren und enthält bis zu 3840 Shader-Rechenkerne. Nvidia fertigt die GP100-GPU bei TSMC im 16-nm-FinFET-Verfahren, das im Vergleich zur bisherigen 28-nm-Technik für eine wesentlich höhere Energieeffizienz sorgt. Beim Speicher setzt Nvidia – zumindest beim Tesla P100 – auf HBM 2 (High Bandwidth Memory 2). Im Vergleich zu HBM 1, den derzeit nur AMD bei Grafikkarten mit Fiji-GPUs verwendet, ermöglicht HBM 2 höhere Transferraten und mehr Speicher pro GPU.
GP100 sitzt wie AMDs Fiji-Pendant auf einem Interposer (oder auch „Carrier“) und ist über insgesamt 4096 Datenleitungen mit dem 16 GByte großen und ECC-geschützten HBM-2-Speicher verbunden. Die vier Speicherstapel befinden sich sehr nah an der GPU, um Signalwege zu reduzieren und folglich die Transferrate zu maximieren. Sie liegt beim Tesla P100 bei 720 GByte pro Sekunde.[10][11]
Volta ist vor allem auf Berechnungen im Bereich der künstlichen Intelligenz beziehungsweise des Deep Learnings zugeschnitten. Die unter der Bezeichnung „GV100“ laufende GPU besteht aus 21,1 Milliarden Transistoren und enthält 5376 Shader-Rechenkerne auf einer Chipfläche von 815 mm². Nvidia fertigt die GV100-GPU beim taiwanischen Auftragsfertiger TSMC im 12-Nanometer-FFN-Verfahren.
In der Tesla V100 aktiviert Nvidia jedoch nur 80 der 84 Shader-Cluster, um die Chipausbeute zu erhöhen. Dadurch stehen 5120 Shader-Rechenkerne für FP32 zur Verfügung. Die GV100-GPU erlaubt Berechnungen einfacher Genauigkeit mit bis zu 15 TFlops (30 TFlops bei FP16) durchzuführen, die 2560 Double-Precision Einheiten schaffen theoretisch 7,5 FP64-TFlops. Mit der PCIe-Karte erreicht Volta im Vergleich zur SXM2-Variante eine etwas geringere theoretische Rechenleistung von 14 bzw. 7 TFlops (aufgrund der etwas niedrigeren Taktfrequenz – 1370 statt 1455 MHz). Zudem enthält Volta 640 Deep-Learning-Spezialeinheiten. Von diesen sogenannten Tensor Cores sind in jedem Streaming-Multiprozessor acht Tensor Cores enthalten. Sie erreichen sowohl beim Training als auch beim Inferencing von neuronalen Netzwerken eine Rechenleistung von bis zu 120 TFlops. Allerdings sind sie nur eingeschränkt programmierbar.
Beim Speicher wird HBM-2 Speicher (High Bandwidth Memory 2) verwendet, der auf der Tesla V100 900 GByte/s erreicht. Wie beim Vorgänger Tesla P100 bleibt die Speichergröße bei 16 GB. Theoretisch sei ein Speicherausbau auf 32 GByte möglich. Voltas L1-Cache zeigt im Vergleich zum Pascal-Chip der Tesla P100 eine um den Faktor 4 geringere Latenz und erreicht einen Durchsatz von zirka 14 Terabyte/s.[12]
Die neue Turing-Karte T4 der Tesla Serie ist im PCIe-3.0 Leistungslimit von 75 Watt und damit ideal für Server.[13]
Da hier den meisten Karten Ausgabe-Ports fehlen wegen der Fokussierung auf Berechnungen mit GPU, sind hier die Compute-Schnittstellen OpenCL und CUDA am wichtigsten. OpenCL 2.0 Evaluation support steht mit Treiber-Version 378.66 für Kepler, Maxwell und Pascal zur Verfügung.[14] OpenGL 4.6 ist ab Fermi möglich mit aktuellen Treibern ab 381 für Linux und 387 für Windows.[15]
Chip | Fertigung | Einheiten | Schnittstelle | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Prozess in nm |
Transi- storen in Mio. |
Die- Fläche in mm² |
ROP- Parti- tionen |
ROPs | Unified-Shader | Shader Model |
Direct X |
Open GL |
Open CL |
Cuda Capa- bility |
Cuda SDK (max.) |
Hardware | ||
Stream- prozessoren |
Shader- Cluster | |||||||||||||
Einheiten | ||||||||||||||
Tesla G80 | 90 | 681 | 484 | 6 | 24 | 128 | 8 | 4.0 | 10.0 | 3.3 | 1.1 | 1.0 | 6.5 | PCIe |
Tesla GT200 / b | 65 / 55 | 1400 | 576 / 470 | 8 | 32 | 240 | 10 | 4.0 | 10.1 | 3.3 | 1.1 | 1.3 | 6.5 | PCIe 2.0 |
Fermi GF100 | 40 | 3000 | 526 | 6 | 48 | 512 | 16 | 5.0 | 11.0 | 4.6 | 1.1 | 2.1 | 8.0 | PCIe 2.0 |
Fermi GF110 | 40 | 3000 | 526 | 6 | 48 | 512 | 16 | 5.0 | 11.0 | 4.6 | 1.1 | 2.1 | 8.0 | PCIe 2.0 |
Kepler GK104 | 28 | 3540 | 294 | 4 | 32 | 1536 | 8 | 5.0 | 11.0 | 4.6 | 1.2 (2.0) | 3.0 | 10.0 | PCIe 3.0 |
Kepler GK110[16] | 28 | 7100 | 561 | 6 | 48 | 2880 | 15 | 5.0 | 11.0 | 4.6 | 1.2 (2.0) | 3.0 | 10.0 | PCIe 3.0 |
Kepler GK210[17] | 28 | ca. 7100 | ca. 561 | 6 | 48 | 2880 | 15 | 5.0 | 11.0 | 4.6 | 1.2 (2.0) | 3.5 | 10.0 | PCIe 3.0 |
Maxwell GM200 | 28 | 8.000 | 601 | 6 | 96 | 3072 | 24 | 5.0 | 12.0 | 4.6 | 1.2 (2.0) | 5.2 | 10.0 | PCIe 3.0 |
Maxwell GM204 | 28 | 5.200 | 398 | 4 | 64 | 2048 | 16 | 5.0 | 12.1 | 4.6 | 1.2 (2.0) | 5.2 | 10.0 | PCIe 3.0 |
Maxwell GM206 | 28 | 2.940 | 227 | 2 | 32 | 1024 | 8 | 5.0 | 12.1 | 4.6 | 1.2 (2.0) | 5.2 | 10.0 | PCIe 3.0 |
Pascal GP100[18][19] | 16 | 15.300 | 610 | 10 | 96 | 3840 | 60 | 5.0 | 12.1+ | 4.6 | 1.2 (2.0) | 6.0 | 10.0 | PCIe 3.0, NVLink |
Volta GV100[20][21] | 12 | 21.100 | 815 | 128 | 5376 | 84 | 5.0 | 12.1+ | 4.6 | 1.2 (2.0) | 7.0 | 10.0 | PCIe 3.0, NVLink | |
Turing TU104[22] | 12 | 13.600 | 545 | 64 | 2560 | 40 | 6.3 | 12.1+ | 4.6 | 1.2 (2.0) | 7.5 | 10.0 | PCIe 3.0, NVLink |
Modellname | Prozessor | Speicher | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Typ | Stream- prozes- soren |
Takt Chip |
Takt Shader |
Rechenleistung[23] in GFLOPS | Größe in MB |
Takt |
Typ | Speicher- interface |
Speicher- durch- satz | ||||
Half Prec. (FP16) |
Single Prec. (MAD + MUL) |
Single Prec. (MAD or FMA) |
Double Prec. (FMA) | ||||||||||
Einheiten | MHz | MHz | MB | MHz | GB/s | ||||||||
Tesla C870 | G80 | 128 | 600 | 1350 | Nein? | 519 | Nein | 1536 | 800 | GDDR3 | 384 Bit | 77 | |
Tesla D870 | 2× G80 | 256 | 600 | 1350 | Nein? | 1037 | Nein | 3072 | 800 | GDDR3 | 2× 384 Bit | 2× 77 | |
Tesla S870 | 4× G80 | 512 | 600 | 1350 | Nein? | 2074 | Nein | 6144 | 800 | GDDR3 | 4× 384 Bit | 4× 77 | |
Tesla C1060 | GT200 | 240 | 602 | 1296 | ? | 933 | 622 | 78 | 4096 | 800 | GDDR3 | 512 Bit | 102 |
Tesla S1070 | 4× GT200 | 960 | 602 | 1296 | ? | 3732 | 2488 | 311 | 16.384 | 800 | GDDR3 | 4× 512 Bit | 4× 102 |
4× GT200b | 1440 | ? | 4147 | 2765 | 345 | ||||||||
Tesla C2050 | Fermi GF100 | 448 | 575 | 1150 | ? | No | 1030 | 515 | 3072 | 1500 | GDDR5 | 384 Bit | 144 |
Tesla M2050 | GF100 | 448 | 575 | 1150 | ? | No | 1030 | 515 | 3072 | 1550 | GDDR5 | 384 Bit | 148 |
Tesla C2070 | GF100 | 448 | 575 | 1150 | ? | No | 1030 | 515 | 6144 | 1500 | GDDR5 | 384 Bit | 144 |
Tesla M2070 | GF100 | 448 | 575 | 1150 | ? | No | 1030 | 515 | 6144 | 1550 | GDDR5 | 384 Bit | 150 |
Tesla S2050 | 4× GF100 | 1792 | 575 | 1150 | ? | No | 4120 | 2060 | 12.288 | 1500 | GDDR5 | 4× 384 Bit | 4× 144 |
Tesla S2070 | 4× GF100 | 1792 | 575 | 1150 | ? | No | 4122 | 2061 | 24.576 | 1500 | GDDR5 | 4× 384 Bit | 4× 144 |
Tesla M2090[24][25] | Fermi GF110 | 512 | 650 | 1300 | ? | No | 1331 | 666 | 6144 | 1850 | GDDR5 | 384 Bit | 177 |
Tesla K10[26][27] | 2× GK104 | 3072 | 745 | ? | No | 4580 | 191 | 8192 | 2500 | GDDR5 | 2× 256 Bit | 2× 160 | |
Tesla K20 | GK110 | 2496 | 705 | ? | No | 3524 | 1175 | 5120 | 2600 | GDDR5 | 320 Bit | 208 | |
Tesla K20X[28] | GK110 | 2688 | 735 | ? | No | 3935 | 1312 | 6144 | 2600 | GDDR5 | 384 Bit | 250 | |
Tesla K40 | GK110B | 2880 | 745 (Boost: 810/875) | ? | No | 4290 | 1430 | 12.288 | 3004 | GDDR5 | 384 Bit | 288 | |
Tesla K80[29] | 2× GK210 | 5760 | 590 | ? | No | 5591-8736 | 1864-2912 | 24.576 | 3004 | GDDR5 | 2× 384 Bit | 2× 288 | |
Tesla M4 | GM206 | 1024 | 872 (Boost: 1072) | ? | No | 1786-2195 | 56-69 | 4096 | 2750 | GDDR5 | 128 Bit | 88 | |
Tesla M40 | GM200 | 3072 | 948 (Boost: 1114) | ? | No | 5825-6844 | 182-214 | 12288 | 3000 | GDDR5 | 384 Bit | 288 | |
Tesla M6[30] | GM204 | 1536 | 930 (Boost 1180) | ? | No | 2857 | 2857 /32 | 8192 | 2750 | GDDR5 | 256 Bit | 160 | |
Tesla M60 | 2x GM204 | 4096 | 900 (Boost: 1180) | ?x SP | No | 7373-9667 | 230-302 | 2×8192 | 2500 | GDDR5 | 2×256 Bit | 2× 160 | |
Tesla P4[31] | GP104 | 2560 | 810 (Boost: 1063) | 2x SP | No | 5500 | 1/32 SP | 8000 | 1500 (eff. 6000) | GDDR5 | 256 Bit | 192 | |
Tesla P40[32] | GP102 | 3840 | 1303 (Boost: 1531) | 2x SP | No | 12000 | 1/32 SP | 24000 | 1251 (eff. 10008) | GDDR5X | 384 Bit | 346 | |
Tesla P100 „PCIe 12GB 250W“[33] | GP100 | 3584 | 1175 (Boost: 1300)? | 2x SP | No | 8000-9300 | 4700 | 12288 | 700 | HBM2 | 3072 Bit | 540 | |
Tesla P100 „PCIe 16GB 250W“[34] | GP100 | 3584 | 1175 (Boost: 1300)? | 2x SP | No | 8000-9300 | 4700 | 16384 | 700 | HBM2 | 4096 Bit | 720 | |
Tesla P100 „NVLink 300W“[35][36] | GP100 | 3584 | 1328 (Boost: 1480) | 2x SP | No | 9519-10609 | 5300 | 16384 | 700 | HBM2 | 4096 Bit | 720 | |
Tesla V100 PCle 250 W[37][38] | GV100 | 5120 | (Boost: 1370) | 8x SP Tensor Mode | No | 14000 | 7000 | 16384 | 876 (eff. 1752) | HBM2 | 4096 Bit | 900 | |
Tesla V100 SXM2 NVLink 300 W[37][38][39][40] | GV100 | 5120 | (Boost: 1455) | 8x SP Tensor Mode | No | 15000 | 7500 | 16384/32768 | 876 (eff. 1752) | HBM2 | 4096 Bit | 900 | |
Tesla T4 PCIe 70 W[41] | TU104 | 2560 | 1005 (Boost: 1515) | 8x SP Tensor Mode | No | 8100 | 1/32 SP | 16384 | 1250 (eff. 10.000) | GDDR6 | 256 Bit | 320 |