Byla vydána (𝕏) květnová aktualizace aneb nová verze 1.90 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.90 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Byla vydána (Mastodon, 𝕏) nová verze 2024.2 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení.
Počítačová hra Tetris slaví 40 let. Alexej Pažitnov dokončil první hratelnou verzi 6. června 1984. Mezitím vznikla celá řada variant. Například Peklo nebo Nebe. Loni měl premiéru film Tetris.
MicroPython (Wikipedie), tj. implementace Pythonu 3 optimalizovaná pro jednočipové počítače, byl vydán ve verzi 1.23.0. V přehledu novinek je vypíchnuta podpora dynamických USB zařízení nebo nové moduly openamp, tls a vfs.
Canonical vydal Ubuntu Core 24. Představení na YouTube. Nová verze Ubuntu Core vychází z Ubuntu 24.04 LTS a podporována bude 12 let. Ubuntu Core je určeno pro IoT (internet věcí) a vestavěné systémy.
Databáze DuckDB (Wikipedie) dospěla po 6 letech do verze 1.0.0.
Intel na veletrhu Computex 2024 představil (YouTube) mimo jiné procesory Lunar Lake a Xeon 6.
Na blogu Raspberry Pi byl představen Raspberry Pi AI Kit určený vlastníkům Raspberry Pi 5, kteří na něm chtějí experimentovat se světem neuronových sítí, umělé inteligence a strojového učení. Jedná se o spolupráci se společností Hailo. Cena AI Kitu je 70 dolarů.
Byla vydána nová verze 14.1 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.
Společnost Kaspersky vydala svůj bezplatný Virus Removal Tool (KVRT) také pro Linux.
#include <stdio.h> __global__ void helloCUDA(float f) { printf("Hello thread %d, f=%f\n", threadIdx.x, f); } int main() { helloCUDA<<<1, 5>>>(1.2345f); cudaDeviceSynchronize(); return 0; }Kompilaci provede pomocí (kde test.cu je název souboru s kódem a test název zkompilovaného programu):
nvcc -arch=sm_20 test.cu -o testAby program s CUDA fungoval (pokud máte optimus) je ho potřeba pustit pomocí optirun. Výsledný program spustíte tedy pomocí optirun takto (můžete použít optirun s argumente --no-xorg):
optirun --no-xorg ./testPokud se vám vypíše
Hello thread 0, f=1.234500 Hello thread 1, f=1.234500 Hello thread 2, f=1.234500 Hello thread 3, f=1.234500 Hello thread 4, f=1.234500,tak vám CUDA funguje přesně jak má a může vesele vyvíjet aplikace využívající GPU.
Pokud stejně jako já rádi použiváte KDevelop, tak nastavení aby se KDevelop choval k souborům s příponou .cu a .cuh jako souborům C resp C++ provode v systémovém nastavení KDE v kategorii Asociace souborů kde u x-c++src pridáte další příponu *.cu a u x-c++hdr přidáte příponu *.cuh. Nyní by vám již mělo fungovat doplňování a refaktoring v KDevelop se soubory s těmito příponami.
cmake_minimum_required(VERSION 2.8) project(nazevprojektu) # kvuli kompabilite s nvcc je potreba pouzit gcc verze 4.6 u CUDA toolkit 5.5 tohle muzete odebrat set(CMAKE_CXX_COMPILER g++-4.6) set(CMAKE_CC_COMPILER gcc-4.6) set(CMAKE_C_COMPILER gcc-4.6) find_package(CUDA REQUIRED) include(FindCUDA) # nvcc flags set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS};-gencode arch=compute_30,code=sm_30) set(CUDA_VERBOSE_BUILD ON CACHE BOOL "nvcc verbose" FORCE) cuda_add_executable(nazevprojektu main.cu dalsifile.cu file.cpp)
Při vývoji narazíte na problém, že se vám aplikace spuštěné pomocí optirun déle spouští. Je to způsobením, že se pokaždé musí nastartovat další X server. To lze vyřešit tím, že si pustíte nějaký program pomocí optirun a necháte ho běžet. Poté se vám již aplikace budou spouštět normálně.
Nyní přichází na řadu debugování to lze provádět pomocí cuda-gdb. Aby vám cuda-gdb fungovalo je potřeba ukončit všechny programy, které grafickou kartu s CUDA využívají. Opět musíte spouštět cuda-gdb pomocí optirun nyní již musíte použít argument --no-xorg jinak vám nebude fungovat. Například takto:
optirun --no-xorg cuda-gdb --args programscuda -jehoargumentycuda-gdb je postaveno na gdb, takže musíte umět aspoň nějaké základy používání gdb.
Pokud jste došli až sem a vše vám funguje gratuluji.
Tiskni Sdílej: