Dlouho očekávaná podpora SIMD operací v programovacím jazyku Go

Zdroj Zdroj: root.cz     01.09.2026 (00:00)     Sekcia it, počítače

Popíšeme si, jak je v programovacím jazyku Go implementována podpora pro SIMD (vektorové) operace. Do Go 1.26 totiž byly přidány experimentální balíčky s podporou SIMD. celý článek

 
Ďalšie články
 

Dlouho očekávaná podpora SIMD operací v programovacím jazyku Go (2. část)

Zdroj Zdroj: root.cz     08.09.2026 (00:00)     Sekcia it-pocitace

Dokončíme popis dnes stále ještě experimentálního balíčku simd/archsimd, ve kterém jsou implementovány všechny nízkoúrovňové SIMD operace, například včetně permutace vektorů apod.

 

Dlouho očekávaná podpora SIMD operací v programovacím jazyku Go (dokončení)

Zdroj Zdroj: root.cz     15.09.2026 (00:00)     Sekcia it-pocitace

Budeme se zabývat popisem experimentálního balíčku nazvaného simd. Ten nabízí operace s vektory, jejichž bitová šířka (a tím i počet prvků) je odvozena z možností použité architektury mikroprocesorů: 256 či 512 bitů.

 

Podpora SIMD operací v GCC s využitím intrinsic: technologie SSE

Zdroj Zdroj: root.cz     25.10.2022 (00:00)     Sekcia it-pocitace

Na předchozí článek o využití SIMD operací založeném na použití intrinsic v překladači GCC C dnes navážeme. Dnes se zaměříme na technologii SSE se 128bitovými vektory a podporou FP operací.

 

Základy tvorby grafů v programovacím jazyku R

Zdroj Zdroj: root.cz     01.10.2020 (00:00)     Sekcia it-pocitace

[24 minut čtení] V sedmé části seriálu o programovacím jazyku R se seznámíme se základními typy grafů, které je možné nalézt ve standardní knihovně tohoto jazyka. Posléze se zaměříme na popis velmi populární knihovny nazvané ggplot2. 1. Tvorba grafů v programovacím jazyku R

 

Užitečné rozšíření GCC – podpora SIMD (vektorových) instrukcí: nedostatky technologie

Zdroj Zdroj: root.cz     11.10.2022 (00:00)     Sekcia it-pocitace

Podpora SIMD operací v rozšíření GCC je ve skutečnosti pouze částečná a má mnohé nedostatky, o nichž se dnes zmíníme. Taktéž si ukážeme, že vektory zavedené v rámci tohoto rozšíření není vhodné slepě používat namísto polí.

 

Užitečné rozšíření GCC: podpora SIMD (vektorových) instrukcí

Zdroj Zdroj: root.cz     06.10.2022 (00:00)     Sekcia it-pocitace

S rostoucím počtem tranzistorů na ploše mikroprocesorů (Moorův zákon) se mění i jejich architektura. Kromě přidávání jader dochází k zavádění instrukcí SIMD, které dokážou jednu operaci provádět s celým vektorem dat.

 

Řídicí struktury využitelné v programovacím jazyku Clojure

Zdroj Zdroj: root.cz     12.01.2021 (00:00)     Sekcia it-pocitace

[39 minut čtení] Článek se věnuje popisu řídicích struktur v jazyku Clojure. Zatímco ve většině běžných jazyků existuje jen omezené množství takových struktur (podmínky, rozvětvení, cykly), v Clojure najdeme makrosystém. 1. Řídicí struktury využitelné v programovacím jazyku Clojure

 

Podpora SIMD operací v GCC s využitím intrinsic pro nízkoúrovňové optimalizace

Zdroj Zdroj: root.cz     20.10.2022 (00:00)     Sekcia it-pocitace

V první části článku dokončíme popis problematiky SIMD technologie NEON na architektuře ARM. Část druhá bude věnována takzvaným intrinsic, které programátorům umožňují přímo v C provádět i nízkoúrovňové optimalizace.

 

Funkce v programovacím jazyku R

Zdroj Zdroj: root.cz     21.01.2021 (00:00)     Sekcia it-pocitace

[30 minut čtení] Funkce jsou jednou z nejužitečnějších abstrakcí používaných při vývoji. Jazyk R práci s funkcemi samozřejmě podporuje a funkce jsou zde dokonce plnohodnotným typem s podporou lexikálních uzávěrů i funkcí vyššího řádu. 1. Funkce v programovacím jazyku R

 

Základy tvorby grafů v programovacím jazyku R: typy grafů v knihovně lattice

Zdroj Zdroj: root.cz     06.10.2020 (00:00)     Sekcia it-pocitace

[29 minut čtení] Osmá část seriálu o jazyku R je věnována popisu některých typů grafů podporovaných v knihovně lattice, která rozšiřuje možnosti standardní knihovny. Lattice představuje zajímavou alternativu ke známější knihovně ggplot2. 1. Základy tvorby grafů v programovacím jazyku R: knihovna lattice

Podpora SIMD (vektorových) instrukcí na RISCových procesorech

Proměnné, funkce a datové typy v jazyku OCaml

Řídicí struktury využitelné v programovacím jazyku Clojure (dokončení)

Tvorba sešitů pro tabulkové procesory v programovacím jazyku Go

Podpora funkcionálního programovaní v jazyku Lua s využitím knihovny Moses (pokračování)

Pohled pod kapotu formátu WebAssembly: SIMD (vektorové) operace, druhá část

Tvorba sešitů pro tabulkové procesory v programovacím jazyku Go – formát xlsx

Definice uživatelských datových typů v jazyku OCaml

Podpora funkcionálního programovaní v jazyku Lua s využitím knihovny Moses

Řídicí konstrukce v programovacím jazyku OCaml

Funkce v programovacím jazyku C3

Kombinace programovacího jazyka C3 s assemblerem

Obousměrná fronta (deque) v programovacím jazyku Go

Datové typy Option, Result a Array v programovacím jazyku F#

Datové typy Option, Result a Array v programovacím jazyku OCaml

Pattern matching v programovacím jazyku Coconut

Podpora funkcionálního programování v jazyku Lua s využitím knihovny Moses (dokončení)

SIMD instrukce na platformě 80×86: nepřímý důsledek platnosti Mooreova zákona

Instrukční sady SIMD a automatické vektorizace prováděné překladačem GCC

Technologie mezijazyků (mezikódů) a bajtkódů: LLVM IR a SIMD

SIMD instrukce v rozšíření SSE

Operátory v programovacím jazyku OCaml

Operátory v programovacím jazyku F#

Číselné hodnoty s neomezeným rozsahem a přesností v programovacím jazyku Go (2)

Datový typ Decimal v programovacím jazyku Python

Překladače jazyka C pro historické osmibitové mikroprocesory

Použití instrukcí SSE a AVX pro zrychlení bitových operací

Pohled pod kapotu formátu WebAssembly: SIMD (vektorové) operace

Systém maker v programovacím jazyku C3

Programovací jazyk K: důkaz, že mezi námi žijí mimozemšťané (dokončení)

Rekurze a pattern matching v programovacím jazyku F#

Funkce a typový systém programovacího jazyka ML

Komunikace přes TCP, UDP i unixové sokety v programovacím jazyce Go

Programovací jazyk F#: proměnné, funkce a datové typy