Det första vi måste förstå, när vi skriver den här artikeln, är att HBM-PIM inte är en standard som godkänts av JEDEC, som är kommittén av 300 företag som ansvarar för att skapa de olika minnesstandarderna, oavsett om de är flyktiga eller ihållande. . För tillfället är det ett förslag och design från Samsung, som skulle kunna omvandlas till en ny typ av HBM-minne och tillverkas av tredje part eller, om inte det, till en exklusiv produkt från det sydkoreanska gjuteriet.
Oavsett om det blir en standard eller inte, kommer HBM-PIM att tillverkas för Alveo AI Accelerator från Xilinx, ett företag som vi minns har köpts helt av AMD. Det är alltså inget koncept på papper och inte en laboratorieprodukt, utan den här typen av HBM-minnen kan tillverkas i stora mängder. Självklart är Xilinx Álveo ett FPGA-baserat acceleratorkort som används i datacenter. Det är inte en produkt för massmarknaden, och vi måste komma ihåg att det bara är en variant av HBM-minnet, som i sig är mycket dyrt och knappt att tillverka, vilket minskar användningen i kommersiella produkter som spelgrafikkort eller processorer.
Konceptet med in-memory computing
De program vi kör på våra datorer fungerar genom ett äktenskap mellan RAM och CPU, vilket skulle vara perfekt om vi kunde lägga båda på ett enda chip. Tyvärr är detta inte möjligt och leder till en rad flaskhalsar som är inneboende i arkitekturen hos vilken dator som helst, en produkt av latensen mellan systemminnet och centralenheten:
- Eftersom det blir ett större avstånd överförs data långsammare.
- Energiförbrukningen ökar ju mer utrymme det finns mellan processorenheten som kör programmet och lagringsenheten där programmet finns. Detta betyder att överföringshastigheten eller bandbredden är lägre än processhastigheten.
- Det vanliga sättet att lösa detta problem är att lägga till en cachehierarki på CPU, GPU eller APU; som kopierar data från RAM-minnet inuti för snabbare åtkomst till nödvändig information.
- Andra arkitekturer använder det som kallas Scratchpad RAM, som kallas inbäddat RAM, det fungerar inte automatiskt och dess innehåll måste styras av programmet.
Så RAM-minnet som är integrerat i processorn har ett problem och det är dess kapacitet, där det lagrar väldigt lite data inuti på grund av fysiska utrymmesbegränsningar eftersom de allra flesta transistorer är dedikerade till bearbetningsinstruktioner och inte lagring.
Konceptet med in-memory computing fungerar omvänt jämfört med DRAM eller embedded SRAM eftersom vi pratar om RAM som vi lägger till logik där bitcellerna har större vikt. Därför är det inte fråga om att integrera en komplex processor, utan en domänspecifik sådan och till och med hårdvaruanslutna eller fastfunktionsacceleratorer.
Och vilka är fördelarna med denna typ av minne? När vi kör ett program på vilken processor som helst, åtminstone för varje instruktion, görs åtkomst till RAM-minnet som är tilldelat nämnda CPU eller GPU. Tanken med in-memory computing är ingen annan än att ha ett program lagrat i PIM-minnet och att CPU:n eller GPU:n bara behöver använda en enda anropsinstruktion och vänta på att processorenheten i minnesberäkningen ska köra programmet och returnera det slutliga svaret till processorn, dvs free för andra uppgifter.
Processorn i Samsung HBM-PIM
En liten CPU har integrerats i vart och ett av chipsen i stacken av ett HBM-PIM-chip, så lagringskapaciteten påverkas av att rikta transistorer som skulle gå till minnescellerna för att tilldela dem till de logiska grindarna som utgör den integrerade processor och som vi har avancerat tidigare är den väldigt enkel.
- Den använder inga kända ISA, men sin egen med väldigt få instruktioner totalt: 9.
- Den har två uppsättningar med 16 flyttalsenheter med precision på 16 bitar vardera. Den första uppsättningen har förmågan att utföra addition och den andra för att utföra multiplikation.
- En exekveringsenhet av SIMD-typ, så detta är en vektorprocessor.
- Dess aritmetiska funktioner är: A + B, A * B, (A + B) * C och (A * C) + B.
- Energiförbrukningen per operation är 70% lägre än om CPU:n gjort samma uppgift, här måste vi ta hänsyn till sambandet mellan energiförbrukning och avståndet med data.
- Samsung har döpt denna lilla processor under namnet PCU.
- Varje processor kan bara fungera med det minneschip som den är en del av, eller med hela stacken. Även enheterna i HBM-PIM kan arbeta tillsammans för att accelerera de algoritmer eller program som kräver det.
Som kan utläsas med tanke på dess enkelhet är den inte lämplig för att köra komplexa program. I gengäld marknadsför Samsung det under tanken att vi relaterar det som en enhet som accelererar Machine Learning-algoritmer, men det kan inte heller hantera komplexa system eftersom det är en vektor- och icke-tensorprocessor. Så deras möjligheter inom detta område är mycket begränsade och fokuserar på saker som inte kräver mycket kraft, som röstigenkänning, text- och ljudöversättning och så vidare. Låt oss inte glömma att dess beräkningskapacitet är 1,2 TFLOPS.
Kommer vi att se HBM-PIM på våra datorer?
De applikationer som Samsung ger som exempel på fördelarna med HBM-PIM accelereras redan i högre hastighet av andra komponenter i våra datorer, dessutom utesluter den höga kostnaden för att tillverka denna typ av minne redan dess användning inom en hemdator. I det fall du är programmerare specialiserade på artificiell intelligens är det säkraste att du har hårdvara i dina datorer med mycket högre processorkapacitet än Samsungs HBM-PIM.
Verkligheten är att det verkar som ett dåligt val för den sydkoreanska jättens marknadsavdelning att prata om AI. Och ja, vi tar hänsyn till att det är den fashionabla tekniken på allas läppar, men vi tror att HBM-PIM har andra marknader där den kan utnyttja sina möjligheter.
Vilka är dessa applikationer? Till exempel tjänar det till att påskynda sökningen efter information i stora databaser som hundratals företag använder dagligen och tror oss att det är en enorm marknad som flyttar miljontals dollar om året. I vilket fall som helst ser vi inte att det används på inhemsk nivå och i vetenskaplig beräkning, även om det finns en möjlighet att den fortfarande ofullbordade HBM3 ärver en del av idéerna från HBM-PIM.