ZLUDA టూల్‌కిట్ ప్రచురించబడింది, AMD GPUలలో CUDA అప్లికేషన్‌లను అమలు చేయడానికి మిమ్మల్ని అనుమతిస్తుంది

ZLUDA ప్రాజెక్ట్ AMD GPUల కోసం CUDA సాంకేతికత యొక్క బహిరంగ అమలును సిద్ధం చేసింది, ఇది లేయర్‌లు లేకుండా నడుస్తున్న అప్లికేషన్‌ల పనితీరుకు దగ్గరగా ఉన్న పనితీరుతో మార్పులేని CUDA అప్లికేషన్‌లను అమలు చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. ప్రచురించబడిన టూల్‌కిట్ NVIDIA GPUల కోసం CUDA కంపైలర్‌ని ఉపయోగించి కంపైల్ చేయబడిన ప్రస్తుత CUDA అప్లికేషన్‌లతో బైనరీ అనుకూలతను అందిస్తుంది. అమలు అనేది AMD చే అభివృద్ధి చేయబడిన ROCm స్టాక్ మరియు రన్‌టైమ్ HIP (పోర్టబిలిటీ కోసం హెటెరోజెనియస్-కంప్యూటింగ్ ఇంటర్‌ఫేస్) పైన పనిచేస్తుంది. ప్రాజెక్ట్ కోడ్ రస్ట్‌లో వ్రాయబడింది మరియు MIT మరియు Apache 2.0 లైసెన్స్‌ల క్రింద పంపిణీ చేయబడుతుంది. Linux మరియు Windowsలో పని చేయడానికి మద్దతు ఇస్తుంది.

AMD GPUలతో సిస్టమ్‌లపై CUDA పనిని నిర్వహించడానికి లేయర్ గత రెండు సంవత్సరాలుగా అభివృద్ధి చేయబడింది, అయితే ప్రాజెక్ట్ సుదీర్ఘ చరిత్రను కలిగి ఉంది మరియు వాస్తవానికి Intel GPUలలో CUDA పనిని నిర్ధారించడానికి సృష్టించబడింది. మొదట ZLUDA డెవలపర్ ఇంటెల్ ఉద్యోగి అయినందున GPU మద్దతు విధానంలో మార్పు వివరించబడింది, అయితే 2021లో ఈ సంస్థ ఇంటెల్ GPUలలో CUDA అప్లికేషన్‌లను అమలు చేసే సామర్థ్యాన్ని వ్యాపార ఆసక్తి లేనిదిగా పరిగణించింది మరియు వేగవంతం చేయలేదు. చొరవ అభివృద్ధి.

2022 ప్రారంభంలో, డెవలపర్ ఇంటెల్ నుండి నిష్క్రమించారు మరియు CUDA అనుకూలత కోసం ఒక లేయర్‌ను అభివృద్ధి చేయడానికి AMD ద్వారా ఒప్పందం కుదుర్చుకున్నారు. అభివృద్ధి సమయంలో, AMD ZLUDA ప్రాజెక్ట్‌పై AMD యొక్క ఆసక్తిని ప్రచారం చేయవద్దని మరియు పబ్లిక్ ZLUDA రిపోజిటరీకి కట్టుబడి ఉండవద్దని కోరింది. రెండు సంవత్సరాల తర్వాత, AMD GPUలపై CUDA అప్లికేషన్‌లను అమలు చేయడం వ్యాపారానికి ఆసక్తిని కలిగించదని AMD నిర్ణయించింది, ఇది కాంట్రాక్ట్ నిబంధనల ప్రకారం డెవలపర్ తన పనిని కనుగొనడానికి అనుమతించింది. GPU తయారీదారులు ప్రాజెక్ట్‌కు నిధులు సమకూర్చడం ఆపివేసినందున, దాని విధి ఇప్పుడు సంఘం యొక్క ఆసక్తి మరియు ఇతర సంస్థల నుండి సహకారం కోసం ప్రతిపాదనల రసీదుపై ఆధారపడి ఉంటుంది. బాహ్య మద్దతు లేకుండా, ప్రాజెక్ట్ DLSS (డీప్ లెర్నింగ్ సూపర్ శాంప్లింగ్) వంటి రచయితకు వ్యక్తిగతంగా ఆసక్తిని కలిగించే దిశలలో మాత్రమే అభివృద్ధి చేయగలదు.

దాని ప్రస్తుత రూపంలో, అమలు యొక్క నాణ్యత స్థాయి ఆల్ఫా వెర్షన్‌గా అంచనా వేయబడుతుంది. అయినప్పటికీ, Geekbench, 3DF Zephyr, Blender, Reality Capture, LAMMPS, NAMD, waifu2x, OpenFOAM మరియు Arnold వంటి అనేక CUDA అప్లికేషన్‌లను అమలు చేయడానికి ZLUDA ఇప్పటికే ఉపయోగించబడుతుంది. cuDNN, cuBLAS, cuSPARSE, cuFFT, NCCL మరియు NVML ప్రిమిటివ్స్ మరియు లైబ్రరీలకు కనీస మద్దతును అందిస్తుంది.

ZLUDAని అమలు చేస్తున్న CUDA అప్లికేషన్‌ల యొక్క మొదటి ప్రయోగం ZLUDA GPU కోడ్‌ని కంపైల్ చేయడం వలన గుర్తించదగిన ఆలస్యంతో జరుగుతుంది. కంపైల్ చేయబడిన కోడ్ కాష్‌లో నిల్వ చేయబడినందున, తదుపరి పరుగులలో అలాంటి ఆలస్యం లేదు. కంపైల్డ్ కోడ్‌ని అమలు చేస్తున్నప్పుడు, పనితీరు స్థానికతకు దగ్గరగా ఉంటుంది. AMD Radeon 6800 XT GPUలో Geekbenchని అమలు చేస్తున్నప్పుడు, CUDA బెంచ్‌మార్క్ సూట్ యొక్క ZLUDA వెర్షన్ OpenCL వెర్షన్ కంటే మెరుగ్గా పనిచేసింది.

ZLUDA టూల్‌కిట్ ప్రచురించబడింది, AMD GPUలలో CUDA అప్లికేషన్‌లను అమలు చేయడానికి మిమ్మల్ని అనుమతిస్తుంది

అధికారిక CUDA డ్రైవర్ API మరియు నమోదుకాని CUDA API యొక్క రివర్స్-ఇంజనీరింగ్ భాగానికి మద్దతు ZLUDAలో అమలు చేయబడుతుంది, ఫంక్షన్ కాల్‌లను HIP రన్‌టైమ్‌లో అందించిన సారూప్య ఫంక్షన్‌లతో భర్తీ చేయడం ద్వారా ఇది CUDAకి అనేక విధాలుగా ఉంటుంది. ఉదాహరణకు, cuDeviceGetAttribute() ఫంక్షన్ hipDeviceGetAttribute()తో భర్తీ చేయబడింది. NVML, cuBLAS మరియు cuSPARSE వంటి NVIDIA లైబ్రరీలతో అనుకూలత ఇదే విధంగా నిర్ధారిస్తుంది - అటువంటి లైబ్రరీల కోసం, ZLUDA అనువాద లైబ్రరీలను ఒకే పేరుతో మరియు ఒకే విధమైన AMD లైబ్రరీలపై యాడ్-ఆన్‌ల వలె రూపొందించిన అదే సెట్ ఫంక్షన్‌లను అందిస్తుంది.

PTX (ప్యారలల్ థ్రెడ్ ఎగ్జిక్యూషన్) ప్రాతినిధ్యంలోకి సంకలనం చేయబడిన GPU అప్లికేషన్ కోడ్ మొదట ప్రత్యేక కంపైలర్ ద్వారా LLVM IR ఇంటర్మీడియట్ ప్రాతినిధ్యంలోకి అనువదించబడుతుంది, దీని ఆధారంగా AMD GPUల కోసం బైనరీ కోడ్ ఉత్పత్తి చేయబడుతుంది.

ZLUDA టూల్‌కిట్ ప్రచురించబడింది, AMD GPUలలో CUDA అప్లికేషన్‌లను అమలు చేయడానికి మిమ్మల్ని అనుమతిస్తుంది


మూలం: opennet.ru

ఒక వ్యాఖ్యను జోడించండి