{"id":113552,"date":"2024-02-12T22:02:43","date_gmt":"2024-02-12T20:02:45","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/opublikovan-instrumentarij-zluda-pozvolyayushhij-zapuskat-cuda-prilozheniya-na-gpu-amd"},"modified":"2024-02-12T22:02:43","modified_gmt":"2024-02-12T20:02:45","slug":"opublikovan-instrumentarij-zluda-pozvolyayushhij-zapuskat-cuda-prilozheniya-na-gpu-amd","status":"publish","type":"post","link":"https:\/\/prohoster.info\/da\/blog\/news\/opublikovan-instrumentarij-zluda-pozvolyayushhij-zapuskat-cuda-prilozheniya-na-gpu-amd","title":{"rendered":"The ZLUDA toolkit has been released, enabling the execution of CUDA applications on AMD GPUs.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Projektet ZLUDA har udviklet en direkte implementering af CUDA-teknologi til AMD GPU'er, hvilket g\u00f8r det muligt at k\u00f8re uforandrede CUDA-applikationer med en ydeevne, der t\u00e6t p\u00e5 ydeevnen af apps, der k\u00f8rer uden lag. Det offentliggjorte v\u00e6rkt\u00f8j sikrer bin\u00e6r kompatibilitet med eksisterende CUDA-applikationer, der er bygget med CUDA-kompilatoren til NVIDIA GPU'er. Implementeringen fungerer oven p\u00e5 AMD's udviklede ROCm-stak og runtime HIP (Heterogeneous-computing Interface for Portability). Projektkoden er skrevet i Rust og distribueres under MIT- og Apache 2.0-licenserne. Der er support til at k\u00f8re p\u00e5 Linux og Windows.      <\/p>\n<p>Lag til organisering af CUDA-arbejde p\u00e5 systems med AMD GPU'er har v\u00e6ret under udvikling i de sidste to \u00e5r, men projektet har en l\u00e6ngere historie og blev oprindeligt oprettet for at muligg\u00f8re CUDA-arbejde p\u00e5 Intel GPU'er. \u00c6ndringen af st\u00f8ttestrategien for GPU'er forklares ved, at udvikleren ZLUDA i starten var ansat hos Intel, men i 2021 besluttede denne virksomhed, at muligheden for at k\u00f8re CUDA-applikationer p\u00e5 Intel GPU'er ikke var af interesse for forretningen, og de \u00f8nskede ikke at fremme udviklingen af initiativet.     <\/p>\n<p>I begyndelsen af 2022 sagde udvikleren op fra Intel og indgik en kontrakt med AMD om udvikling af et lag for kompatibilitet med CUDA. AMD bad under udviklingen om ikke at offentligg\u00f8re deres interesse i projektet ZLUDA og om ikke at foretage commits i den offentlige ZLUDA-repository. Efter to \u00e5r besluttede AMD, at k\u00f8rsel af CUDA-applikationer p\u00e5 AMD GPU'er ikke var af interesse for forretningen, hvilket if\u00f8lge kontraktens bestemmelser gjorde det muligt for udvikleren at offentligg\u00f8re sine resultater. Da GPU-producenterne er stoppet med at finansiere projektet, afh\u00e6nger dets sk\u00e6bne nu af interessen fra f\u00e6llesskabet og anmodninger om samarbejde fra andre firmaer. Uden ekstern st\u00f8tte vil projektet kun kunne udvikles i retninger, der personligt interesserer forfatteren, s\u00e5som DLSS (Deep Learning Super Sampling).    <\/p>\n<p>I sin nuv\u00e6rende form vurderes kvaliteten af implementeringen som en alpha-version. ZLUDA kan dog allerede bruges til at k\u00f8re mange CUDA-applikationer, herunder Geekbench, 3DF Zephyr, Blender, Reality Capture, LAMMPS, NAMD, waifu2x, OpenFOAM og Arnold. Minimal support er givet for primitivere og biblioteker som cuDNN, cuBLAS, cuSPARSE, cuFFT, NCCL og NVML.    <\/p>\n<p>Den f\u00f8rste k\u00f8rsel af CUDA-applikationer under ZLUDA har signifikante forsinkelser, fordi ZLUDA kompilerer GPU-kode. I de efterf\u00f8lgende k\u00f8rsel er s\u00e5danne forsinkelser frav\u00e6rende, da den kompilerede kode gemmes i cachen. Under udf\u00f8relsen af den kompilerede kode er ydeevnen t\u00e6t p\u00e5 den native. Ved udf\u00f8relsen af Geekbench-pakken p\u00e5 GPU AMD Radeon 6800 XT viste CUDA-testpakken, der blev k\u00f8rt ved hj\u00e6lp af ZLUDA, signifikant h\u00f8jere ydeevne end den baserede p\u00e5 OpenCL.     <center><img decoding=\"async\" alt=\"The ZLUDA toolkit has been released, enabling the execution of CUDA applications on AMD GPUs.\" src=\"\/wp-content\/uploads\/2024\/02\/d851080f089fd00c9b35724eed3a3840.png\" style=\"display:block;margin: 0 auto;\" \/><\/center>    <\/p>\n<p>St\u00f8tte til den officielle CUDA Driver API og den del af den ikke-dokumenterede CUDA API, der er udforsket ved hj\u00e6lp af reverse engineering, er implementeret i ZLUDA gennem erstatning af funktionsopkald med tilsvarende funktioner, der tilbydes i HIP runtime, som ligner CUDA meget. For eksempel erstattes funktionen cuDeviceGetAttribute() med hipDeviceGetAttribute(). P\u00e5 samme m\u00e5de sikres kompatibilitet med NVIDIA-biblioteker som NVML, cuBLAS og cuSPARSE; der gives translat\u00f8rer for s\u00e5danne biblioteker i ZLUDA med samme navn og det samme s\u00e6t af funktioner, bygget som wrapper oven p\u00e5 lignende AMD-biblioteker.     <\/p>\n<p>GPU-koden for applikationer, der er kompileret til PTX (Parallel Thread Execution) format, bliver f\u00f8rst transpileret af en specialkompilator til et mellemformat LLVM IR, hvorp\u00e5 der genereres bin\u00e6rkode til AMD GPU'er.    <center><img decoding=\"async\" alt=\"The ZLUDA toolkit has been released, enabling the execution of CUDA applications on AMD GPUs.\" src=\"\/wp-content\/uploads\/2024\/02\/607b77f27a07c7915211c49a4b405bd6.png\" style=\"display:block;margin: 0 auto;\" \/><\/center><br \/>\n<br \/>Kilde: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=60591\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u043e\u0435\u043a\u0442 ZLUDA \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u043b \u043e\u0442\u043a\u0440\u044b\u0442\u0443\u044e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 CUDA \u0434\u043b\u044f GPU AMD, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0443\u044e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043d\u0435\u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 CUDA-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e, \u0431\u043b\u0438\u0437\u043a\u043e\u0439 \u043a \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u0431\u0435\u0437 \u043f\u0440\u043e\u0441\u043b\u043e\u0435\u043a. \u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u0431\u0438\u043d\u0430\u0440\u043d\u0443\u044e \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u044c \u0441 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c\u0438 CUDA-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438, \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u043c\u0438 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 CUDA \u0434\u043b\u044f GPU NVIDIA. \u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043f\u043e\u0432\u0435\u0440\u0445 \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u043c\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0435\u0439 AMD \u0441\u0442\u0435\u043a\u0430 ROCm \u0438 runtime HIP (Heterogeneous-computing Interface for Portability). \u041a\u043e\u0434 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":113553,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-113552","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u043e\u0435\u043a\u0442 ZLUDA \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u043b \u043e\u0442\u043a\u0440\u044b\u0442\u0443\u044e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 CUDA \u0434\u043b\u044f GPU AMD, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0443\u044e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043d\u0435\u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 CUDA-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e, \u0431\u043b\u0438\u0437\u043a\u043e\u0439 \u043a \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u0431\u0435\u0437.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/da\/blog\/news\/opublikovan-instrumentarij-zluda-pozvolyayushhij-zapuskat-cuda-prilozheniya-na-gpu-amd\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"da_DK\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 ZLUDA, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c CUDA-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 GPU AMD | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u043e\u0435\u043a\u0442 ZLUDA \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u043b \u043e\u0442\u043a\u0440\u044b\u0442\u0443\u044e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 CUDA \u0434\u043b\u044f GPU AMD, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0443\u044e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043d\u0435\u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 CUDA-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e, \u0431\u043b\u0438\u0437\u043a\u043e\u0439 \u043a \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u0431\u0435\u0437.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/da\/blog\/news\/opublikovan-instrumentarij-zluda-pozvolyayushhij-zapuskat-cuda-prilozheniya-na-gpu-amd\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2024-02-12T20:02:45+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2024-02-12T20:02:45+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47ZLUDA-v\u00e6rkt\u00f8jet er offentliggjort, hvilket muligg\u00f8r k\u00f8rsel af CUDA-applikationer p\u00e5 AMD GPU'er | ProHoster","description":"ZLUDA-projektet har forberedt en open source-implementering af CUDA-teknologi til AMD GPU'er, der muligg\u00f8r k\u00f8rsel af u\u00e6ndrede CUDA-applikationer med ydeevne t\u00e6t p\u00e5 applikationer, der k\u00f8rer n\u00f8jagtigt.","canonical_url":"https:\/\/prohoster.info\/da\/blog\/news\/opublikovan-instrumentarij-zluda-pozvolyayushhij-zapuskat-cuda-prilozheniya-na-gpu-amd","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"da_DK","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 ZLUDA, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c CUDA-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 GPU AMD | ProHoster","og:description":"\u041f\u0440\u043e\u0435\u043a\u0442 ZLUDA \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u043b \u043e\u0442\u043a\u0440\u044b\u0442\u0443\u044e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 CUDA \u0434\u043b\u044f GPU AMD, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0443\u044e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043d\u0435\u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 CUDA-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e, \u0431\u043b\u0438\u0437\u043a\u043e\u0439 \u043a \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u0431\u0435\u0437.","og:url":"https:\/\/prohoster.info\/da\/blog\/news\/opublikovan-instrumentarij-zluda-pozvolyayushhij-zapuskat-cuda-prilozheniya-na-gpu-amd","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2024-02-12T20:02:45+00:00","article:modified_time":"2024-02-12T20:02:45+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/113552","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/comments?post=113552"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/113552\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media\/113553"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=113552"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=113552"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=113552"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}