Články
Zprávičky
Fórum
Podpořte Root
Školení
Galerie
Root do mailu
RSS
Blogy
Knihy
Speciály
Manuály
Licence
Jak na Linux
Zdroják
Hledat
Root.cz
»
Kompilery a procesory
Kompilery a procesory
Vše pro to, abyste zkompilovali svá dílka do spustitelné podoby.
91
–
120
/
501
První strana
Předchozí strana
1
2
3
4
5
6
7
Následující strana
Poslední strana
Struktura obrazové paměti grafické karty CGA, blokové přenosy a základy optimalizace
Ve třetím článku o programování her a dem pro IBM PC se „slavnou“ kartou CGA se zaměříme na důležité operace: přístup do obrazové paměti, využití vertikálního zatemnění pro vykreslování a volání blokových instrukcí pro zápis i přenos dat.
Pavel Tišnovský
9. 7. 2024
Doba čtení:
30 minut
Vývoj her a grafických dem pro oslavovanou i nenáviděnou platformu PC (vražedná kombinace 8088 a CGA)
Vývoj grafických dem a her pro jiné platformy (Atari ST, Amiga) může být zábavný, neb vývojář většinou měl pocit, že je HW navržený „příčetně“. IBM PC kombinující Intel 8088 a CGA grafiku, je opačným případem.
Pavel Tišnovský
4. 7. 2024
Doba čtení:
28 minut
Vývoj her a grafických dem pro oslavovanou i nenáviděnou platformu PC (první kroky)
Již poněkolikáté se vrátíme na do 80. let minulého století. V novém seriálu si ukážeme tvorbu aplikací pro IBM PC. Platformu, která byla mnoha programátory nenáviděna, ovšem viděno zpětně: měla něco do sebe.
Pavel Tišnovský
2. 7. 2024
Doba čtení:
19 minut
Nové nastavení EPP pro Intel Meteor Lake vylepšuje výkon i spotřebu
Vývojář Intelu Srinivas Pandruvada poslal včera do jádra nové nastavení EPP (Energy Performance Preference) pro mobilní procesory Intel Meteor Lake. To může mít hodnotu 0–255, vyšší hodnoty mají nižší výkon, ale spoří energii. Výchozí hodnota pro…
Jan Fikar
7. 6. 2024
LLVM špatně optimalizovalo celočíselné dělení na procesorech AMD
Uživatel Systemcluster z Tokia nahlásil chybu, kdy kód přeložený Clangem pro zenver4 běží na Zen4 o 25 % pomaleji než kód optimalizovaný obecně pro x86-64-v4 nebo x86-64. V kódu je Int64 dělení. Ukázalo se, že v případě procesoru AMD není zapnuta…
Jan Fikar
10. 5. 2024
LLVM/Clang možná přijde o -Ofast
Překladače GCC i Clang umožňují nastavit optimalizaci kódu v několika stupních od -O0 do -O3, přičemž standardní je -O2. K tomu kolem roku 2010 přibyla volba -Ofast , což je v podstatě -O3 -ffast-math. Ten druhý přepínač zrychluje výpočty…
Jan Fikar
3. 5. 2024
Kompilátor Intelu podváděl v testu SPEC CPU 2017
Kompilátor Intelu oneAPI DPC++ podváděl v testu SPEC CPU 2017. U více než 2600 výsledků v databázi se nedávno objevil následující text (jeden příklad, sekce Compiler Notes): SPEC rozhodl, že kompilátor použitý při těchto výsledcích prováděl…
Jan Fikar
12. 2. 2024
Překlad funkcí přímo do nativního kódu MicroPythonem
MicroPython, s jehož podporou pro zápis strojových instrukcí ze sad Thumb a Thumb-2 jsme se částečně seznámili v předchozích článcích, navíc umožňuje překlad vybraných funkcí do nativního kódu a nikoli „pouze“ do bajtkódu Pythonu.
Pavel Tišnovský
6. 2. 2024
Doba čtení:
28 minut
Vcc: kompilátor používající Clang ke generování kódu pro Vulkan
Na Saarlandské univerzitě v Německu vznikl projekt Vcc (Vulkan Clang Compiler), což je kompilátor založený na Clangu, který vytváří kód běžící na Vulkanu. Lze jej považovat za konkurenta GLSL a HLSL, ale skutečným záměrem tohoto projektu je zcela…
Petr Krčmář
10. 1. 2024
Clang 17 je v průměru o 5 % rychlejší než GCC 13 na Meteor Lake
Clang 17 je v průměru o 5 % rychlejší než GCC 13 na Meteor Lake Server Phoronix včera přinesl testy kompilátorů GCC 13 a Clang 17 na notebookovém procesoru Intel Meteor Lake Core Ultra 7 155H. V průměru byl Clang rychlejší o asi 5 %. Předchozí…
Jan Fikar
5. 1. 2024
QtRvSim 0.9.6: nově již plná RISC-V RV32IMA/RV64IMA ISA a podpora přerušení
Výukový RISC-V simulátor QtRvSim nově podporuje atomické instrukce (plně prochází oficiální testy RV32IMA a RV64IMA) a přidává podporu zpracování přerušení, výjimek a systémových volání (zatím jen z Machine do Machine-módu) i související ACLINT…
Pavel Píša
18. 12. 2023
Certifikovaný překladač pro jazyk Rust je tady
Firma Ferrous Systems zveřejnila svoji verzi překladače jazyka Rust, nazvanou Ferrocene. Jedná se o překladač s certifikacemi ASIL-D a SIL-4, které umožňují jeho používání mimo jiné v automobilovém průmyslu a dalších aplikacích, kde se vyžadují…
klokan
6. 10. 2023
Přínos AMD P-State EPP v jádře 6.5
Lepší řízení frekvencí procesorů AMD P-State EPP (Energy Performance Preference) je v jádře 6.5. Server Phoronix měřil výkon a spotřebu pro procesor AMD Ryzen 9 7900 s jádrem 6.4.14 a 6.5.1. Ve výchozím nastavení je řízení spotřeby powersave…
Jan Fikar
22. 9. 2023
Vydány finální verze LLVM 17 a Clang 17
Na světě je nová velká verze LLVM + Clang. U LLVM jde rovnou o verzi 17.0.1 přinášející řadu novinek jako FatLTO pipeline, assembler pro AArch64 ARM 2022 A-profile extension (FEAT_GCS (Guarded Control Stacks), FEAT_CHK (Check Feature Status) a…
David Ježek
19. 9. 2023
GCC dostává úpravu řešící výkonnostní dopad oprav na chybu Intel Downfall
U záplat na chybu Downfall v CPU Intel může být při použití AVX s instrukcemi GATHER výrazný dopad na výkon. Intel tak do projektu GCC přináší specifickou úpravu, která tento dopad snižuje tím, že u vektorizace vypíná GATHER pro procesorové rodiny…
David Ježek
17. 8. 2023
S opravou chyby AMD Zen 1 při dělení nulou to není tak jednoduché, jak se dříve zdálo
V procesorech AMD Zen 1 se objevila chyba, kdy při dělení nulou mohou uniknout data. Oprava se dostala v pátek do jádra 6.4.10, 6.1.45, 5.15.126 a 5.10.190. Nicméně stejný autor Boris Petkov přišel s tím, že původní oprava není dostatečná. Nestačí…
Jan Fikar
14. 8. 2023
Rychlý překladač Pythonu LPython
LPython je nový open-source překladač Pythonu do optimalizovaného kódu. Podporovaný back-end je LLVM, C, C++, WASM, Julia a x86. LPython by měl být kompatibilní se standardním CPythonem a podporuje také JIT (just-in-time) kompilaci. Zdrojové kódy…
Jan Fikar
31. 7. 2023
Intel představil AVX10 jako lepší AVX512 i pro E-jádra
Intel nedávno zveřejnil APX (Advanced Performance Extension). Spolu s APX budou mít budoucí procesory také AVX10 (Advanced Vector Extension 10). AVX10 bude zahrnovat ne příliš oblíbené AVX512 a zároveň bude možné AVX10 instrukce pouštět jak na…
Jan Fikar
28. 7. 2023
AMD vydalo open-source openSIL, který nahradí AGESA
AMD včera vydalo open-source openSIL (Silicon Initialization Library), což je firmware, který inicializuje procesor a periferie po startu. Zatím jde jen o proof-of-concept a funguje jen na referenční serverové desce s procesorem Zen4. V budoucnu…
Jan Fikar
15. 6. 2023
Clang 16 je v průměru o 4 % rychlejší než GCC 13 na Zen 4
Server Phoronix minulý měsíc přinesl test kompilátorů Clang 16 a GCC 13.1 na procesoru Intel Raptor Lake. Binární soubory kompilované Clangem byly rychlejší v průměru asi o 5 % než kompilované GCC 13.1 V úterý pak test zopakoval na AMD EPYC čtvrté…
Jan Fikar
2. 6. 2023
Apple chystá procesory M3 Pro
Apple představil ARM procesory M2 Pro v lednu letošního roku. Zatímco jdou do prodeje notebooky MacBook s procesory M2 Pro, Apple oznámil nový procesor M3 Pro. Měl by mít 12 jader, z toho 6 výkonných a 6 úsporných (opět architektura big.LITTLE),…
Jan Fikar
15. 5. 2023
Clang 16 je v průměru o 5 % rychlejší než GCC 13 na Raptor Lake
Server Phoronix přinesl včera srovnání kompilátorů GCC 13.1 a Clang 16. GCC 13.1 vyšlo 28. dubna a Clang 16 17. března. Phoronix testoval na procesoru Intel Raptor Lake s Fedorou 38. V obou případech byly použity přepínače -O3 -march=native -flto…
Jan Fikar
12. 5. 2023
Vyšlo GCC 13.1 s jazykem Modula-2
Ve středu vyšel GNU překladač GCC ve verzi 13.1, první stabilní z řady 13. Novinkou je přidání staršího jazyku Modula-2. Nový překladač pro Rust gccrs je zatím v 13.1 vypnut, protože potřebuje ještě doladit. V příštím vydání už by měl být. GCC…
Jan Fikar
28. 4. 2023
LLVM 16 s podporou Zen 4 a nových instrukcí Intelu
V sobotu vyšel překladač LLVM ve verzi 16.0.0. Mezi novinky patří počáteční podpora procesoru AMD Zen 4 ( -march=znver4) a podpora nových instrukcí Intelu AMX-FP16 (Advanced Matrix Extensions), CMPCCXADD (Compare and ADD if Condition is Met),…
Jan Fikar
20. 3. 2023
Více než 100 patchů pro Rust v GCC 13
Zhruba dva měsíce od začlenění do GCC dostává Rust frontened (gccrs) více než stovku dalších patchů, které se objeví v rámci GCC 13. Toto vydání je v plánu na březen či duben. Celkem 103 patchů již visících na Gitu projektu komentuje vývojář…
David Ježek
21. 2. 2023
GCC 13 je ve fázi oprav regresí
Překladač GCC 13 vstoupil dnes do čtvrté fáze, ve které se jen opravují regrese. Zatím je regresí s největší prioritou P1 37. Jak se je podaří opravit nebo jim snížit prioritu, tak vyjde stabilní GCC 13.1. Odhaduje se, že 13.1 vyjde mezi březnem a…
Jan Fikar
16. 1. 2023
Podpora architektury Intel Emerald Rapids v GCC 13
GCC ve verzi 13 nabídne podporu procesorů Intel rodiny Emerald Rapids ( -march=emeraldrapids). Intel tak navazuje na vývoj, který od GCC 11 běží v rámci podpory Sapphire Rapids, platformy jejíž uvedení na trh je plánováno odteď za necelý týden…
David Ježek
4. 1. 2023
Jazyk Modula-2 bude v GCC 13
Modula-2 je procedurální programovací jazyk s podporou multiprogramování a vytvořil jej Niklaus Wirth z ETHZ v Curychu v roce 1978. Více o tomto jazyce se dozvíte na oficiálních stránkách. Minulý týden se do GCC 13 dostal frontend pro Rust Gccrs…
Jan Fikar
15. 12. 2022
Podpora Rustu míří do překladače GCC
Rustový front-end pro GCC nazvaný Gccrs byl schválen pro přijetí do GCC. Znamená to, že příští vydání GCC bude schopné kompilovat kód napsaný v Rustu. Arthur Cohen, jeden z autorů Gccrs ale uživatele varuje: „Jedná se o velmi experimentální…
Petr Krčmář
8. 12. 2022
Rozšíření instrukční sady AVX-512 na platformě x86–64 (dokončení)
V závěrečném článku o SIMD operacích podporovaných (i když nepřímo) překladačem GCC C se zaměříme přímo na konkrétní vybrané instrukce, které lze nalézt v jednotlivých rozšířeních instrukčních sad AVX-512.
Pavel Tišnovský
29. 11. 2022
Doba čtení:
65 minut
91
–
120
/
501
První strana
Předchozí strana
1
2
3
4
5
6
7
Následující strana
Poslední strana