主要内容gydF4y2Ba

이번역페이지는최신내용을담고있지않습니다않습니다。최신최신내용을영문영문으로여기를클릭클릭gydF4y2Ba

GPU성능측정및개선하기gydF4y2Ba

GPU벤치마킹시작하기gydF4y2Ba

马铃薯草gydF4y2Ba®gydF4y2Ba에서다양한벤치마크테스트를사용하여GPU의성능을측정할수있습니다。gydF4y2Ba

  • MATLAB中央文件交换에있는gydF4y2Bagpubench.gydF4y2Ba를사용하여,메모리를많이사용하는작업과작업과이많은작업작업을포함한다양테스트를밀도와와배정밀할수수수할수있습니다디스플레이카드의성능을계산와와비교합니다。자세한내용은gydF4y2Ba//www.tatmou.com/matlabcentral/fileexchange/34080-gpubenchgydF4y2Ba항목을참조하십시오。gydF4y2Ba

  • 测量GPU性能gydF4y2Ba에서gydF4y2Baparalleldemo_gpu_benchgydF4y2Ba스크립트를사용하여PCI버스속도,GPU메모리읽기/쓰기및배정밀도행렬계산의피크계산성능에대한정보를얻을수있습니다。gydF4y2Ba

단정밀도계산을사용하여성능개선하기gydF4y2Ba

배정밀도대신단정밀도로계산을수행하여GPU성능을개선할수있습니다。반면、CPU계산에서는배정밀도에서단정밀도로전환하면이러한성능개선효과를얻을수없습니다。그이유는대부분의GPU카드는높은단정밀도성능이필요한그래픽디스플레이용으로설계되었기때문입니다。gydF4y2Ba

GPU에서단정밀도계산에적합한계산의일반적인예로는영상처리및머신러닝이있습니다。gydF4y2Ba//www.tatmou.com/content/dam/mathworks/tag-team/Objects/d/Deep_Learning_in_Cloud_Whitepaper.pdfgydF4y2Ba를참조하십시오。그러나선형대수문제와같은다른유형의계산에는일반적으로배정밀도처리가필요합니다。gydF4y2Ba

단정밀도계산은배정밀도계산해해gpu카드및총코어에따라최대50배까지성능이개선될수있습니다성능성능성능수성능성능성능수있습니다있습니다있습니다있습니다있습니다있습니다。고급계산카드는일반적으로성능효과효과가이적습니다。gydF4y2Bagpubench.gydF4y2BaGPU를사용하여특정의성능개선을확인할수있습니다。gydF4y2Ba//www.tatmou.com/matlabcentral/fileexchange/34080-gpubenchgydF4y2Ba항목을참조하십시오。gydF4y2Ba

nvidia.gydF4y2Ba®gydF4y2Bagpu카드의종합적인성능개요는gydF4y2Bahttps://en.wikipedia.org/wiki/list_of_nvidia_graphics_processing_units.gydF4y2Ba를참조하십시오。이계산할수같같개선도를같같같같수있습니다같。gydF4y2Ba

  • 위의위키페이지에서GPU를찾습니다。gydF4y2Ba

  • 표에표시된단정밀도성능값과배정밀도성능값을확인합니다。배정밀도gflops값이없는경우배정밀도가24배배것으로가정합니다。gydF4y2Ba

  • 표시된단정밀도GFLOPS값을배정밀도GFLOPS값으로나눕니다。gydF4y2Ba

참고gydF4y2Ba

랩탑에모바일그래픽스카드가있는경우이카드를GPU연산에사용할수있습니다。그러나랩탑gpu는는컴퓨터장비보다훨씬강력하므로성능이감소감소。gydF4y2Ba

성능향상을위한기본워크플로gydF4y2Ba

matlab에서gpu연산의목적은프로그램의속도를향상시키는것것입니다입니다것것것여기에서는GPU하드웨어의구성및코드의모범사례등GPU에서더나은성능을얻을수있는기본개념과사례에대해설명합니다。구현의어려움과성능간상호상호절충관계대해하고하고gpuarray함수,gydF4y2BaarrayfungydF4y2Ba,墨西哥人파일또는CUDA커널을선택할때사용할수있는기준을설명합니다。마지막으로GPU에서성능을정확하게측정하는방법을설명합니다。gydF4y2Ba

MATLAB코드를GPU에서실행되도록변환할때는이미잘수행되는MATLAB코드부터시작하는것이가장좋습니다。GPU와CPU의성능특징은다르지만좋은MATLAB코드를작성하기위한일반적인지침은GPU를대상으로좋은MATLAB코드를작성하는데에도도움이됩니다。첫번째단계는늘그렇듯이CPU코드를프로파일링하는것입니다。CPU에서대부분의시간을보내는것으로프로파일러가표시한코드라인이사용자가GPU를위한코드를작성할때집중해야할부분입니다。gydF4y2Ba

MATLAB gpuArray데이터를지원하는내장함수를사용하여코드변환을시작하는것이가장쉬운방법입니다。이러한함수는gpuArray입력값을가져와GPU에서계산을수행한후gpuArray출력값을반환합니다。gpuArray데이터를지원하는MATLAB함수목록은gydF4y2BaMATLAB GPU에서함수실행하기gydF4y2Ba에나와있습니다。일반적으로이러한함수는CPU에서계산되는표준MATLAB함수와동일한인수및데이터형을지원합니다。gydF4y2Ba

사용할모든함수가gpu에서지원되는경우,gpu에서코드를실행하는은입력데이터를gpu로전송하기위해gydF4y2BaGPUARRAY.gydF4y2BaGPU를호출하고완료시에서출력데이터를가져오기위해gydF4y2Ba收集gydF4y2Ba를호출하는정도의간단한일이될수있습니다。많은경우,루프를사용한스칼라연산MATLAB행을렬과벡터연산으로대체하여코드를벡터화해야할수있습니다。벡터화는CPU에서는일반적으로좋은규범에불과하지만GPU에서는높은성능을얻는데있어극히중요한요소가됩니다。자세한내용은gydF4y2BaGPU성능향상을위해벡터화하기gydF4y2Ba항목을참조하십시오。gydF4y2Ba

성능향상을위한고급툴gydF4y2Ba

입력값을gpuArray로변환하고코드를벡터화한후에도알고리즘에내장함수가아니거나응용프로그램의요구조건을충족하지못할정도로느린연산이있을수있습니다。이경우주로세가지선택이가능한데,gydF4y2BaarrayfungydF4y2Ba을사용하여응용프로그램에서요소별로동작하는부분을미리컴파일하거나GPU라이브러리함수를사용하거나사용자지정CUDA커널을작성하는것입니다。gydF4y2Ba

순수하게요소별로동작하는함수가있는경우gydF4y2BaarrayfungydF4y2Ba을사용하여이함수를호출하면성능을개선할수있습니다。GPU에서gydF4y2BaarrayfungydF4y2BaMATLAB함함수는요소별수를사용자지정CUDA커널로전환하므로연산수행에대한오버헤드가줄어듭니다。대개,전체응용프로그램은아니더라도그일부분에는gydF4y2BaarrayfungydF4y2Ba을사용할수있는경우경우가많습니다예제gydF4y2Ba使用ArrayFun提高元素-WiseMatlab®在GPU上的性能gydF4y2Ba에서는이접근방법의기본개념을보여주고예제gydF4y2Ba使用GPU ArrayFun进行Monte-Carlo模拟gydF4y2Ba에서는재무응용프로그램에대한시뮬레이션에서어떻게이를수행할수있는지보여줍니다。gydF4y2Ba

MATLAB은并行计算工具箱™、图像处理工具箱™,信号处理工具箱™및기타제품에서광범위한GPU지원함수라이브러리를제공합니다。MATLAB그러나의GPU지원에서와유사한직접내장형태가아닌,추가적인함수라이브러리가많습니다。예로는NPP (NVIDIA性能原语)라이브러리와CURAND라이브러리가있으며이러한라이브러리는MATLAB과함께제공하는CUDA툴킷에포함되어있습니다。이러한라이브러리중하나에있는함수를호출해야하는경우GPU墨西哥人인터페이스를사용하여호출할수있습니다。이인터페이스를사용하면MATLAB gpuArray에서장치데이터에대한포인터를추출해GPU함수로전달할수있습니다。반환된값을gpuArray로변환MATLAB에해반환할수있습니다。자세한내용은gydF4y2BaCUDA코드가포함된mex함수실행하기gydF4y2Ba항목을참조하십시오。gydF4y2Ba

마지막으로,필요한연산을위해사용자지정CUDA커널을작성하는방법이있습니다。이러한커널은CUDAKernel객체를사용하여MATLAB에직접통합할수있습니다。gydF4y2Ba

예제gydF4y2Ba说明GPU计算的三种方法:Mandelbrot集合gydF4y2Ba에서는이섹션에서설명한세가지접근방법을사용하여간단한계산을구현하는방법을보여줍니다。이예제에서는GPU에서실행되도록쉽게변환되는MATLAB코드부터제시하고,요소별연산을위해gydF4y2BaarrayfungydF4y2Ba을사용하도록코드를재작성하고,마지막으로동일한연산대해사용자지정cuda커널을하는방법을보여줍니다。gydF4y2Ba

또는墨西哥人파일의일부로CUDA커널을작성하고墨西哥人파일내에서CUDA런타임API를사용하여이커널을호출할수있습니다。이러한방법중하나를통해공유메모리및텍스처메모리등MATLAB코드에서는직접사용할수없는하위수준GPU의기능을사용할수있습니다。자세한내용은gydF4y2Ba使用MEX访问高级CUDA功能gydF4y2Ba예제를참조하십시오。gydF4y2Ba

성능향상을위한모범사례gydF4y2Ba

하드웨어구성gydF4y2Ba

일반적으로GPU가연산에만사용될때최상의성능을얻을수있습니다。문제가차지하는적절한크기의메모리양과시스템의그래픽스용도로의지속적인장치사용때문에일반적으로동일한GPU장치를계산과그래픽스둘모두의용도로사용하는것은실용적이지않습니다。가능하면별도의그래픽스용장치를사용하십시오。계산용장치또는그래픽스용장치를구성하는자세한내용은운영체제및드라이버버전에따라다릅니다。gydF4y2Ba

窗户gydF4y2Ba®gydF4y2Ba시스템에서gpu장치는wddm(Windows显示驱动程序型号)모드와tcc(tesla compute cluster)모드,둘중하나일수。최상의성능을구현하려면연산사용에되는장치가tcc모드에있어야합니다。자세한내용은nvidia문서문서참조하십시오。gydF4y2Ba

NVIDIA의최고성능계산장치인tesla제품군은gpu메모리메모리를때때때때때때때ECC의의목적은일반적동적메모리를읽거나쓸때끔발생하는비트오류수정하는것것하는하는것성능을개선하는한가지기법은ECC를해제하여사용가능한메모리대역폭을늘리는것입니다。이런식으로하드웨어를구성수는있지만mathworks에서에서이방법을권장하지않습니다。드러나지않은오류로인한잠재적인정확도손실이성능상의이점보다더해로울수있기때문입니다。gydF4y2Ba

MATLAB코딩사례gydF4y2Ba

여기에서는GPU에서더나은성능을얻을수있는일반적인기법을설명합니다。이팁중몇가지는CPU를위한MATLAB코드작성시에도적용됩니다。gydF4y2Ba

MATLAB배열에서데이터는는열우선순서로저장저장따라서배열의번째차원이나열차원을따라연산에에이득이득수있습니다。이터터한차원이다른차원보다훨씬긴이차원을을첫번째번째차원으로더나은성능을얻을수수수수마찬가지로,특정차원을따라빈번하게연산을수행하는경우에는일반적으로그차원을첫번째차원으로하는것이가장좋습니다。일부경우에,연속된연산이배열의다른차원을대상으로때이러한는간연산에에배열배열전치하거나에에것것것수있습니다에。gydF4y2Ba

많은결과값을병렬로계산함으로써GPU로높은성능을얻을수있습니다。따라서행렬연산및이보다더높은차원의배열연산이벡터연산이나스칼라연산보다일반적으로성능이더좋습니다。더높은차원의연산을활용하도록루프를재작성하면더나은성능을얻을수있습니다。MATLAB행렬과벡터연산을사용하도록루프기반의,스칼라위주의코드를수정하는과정을벡터화라고합니다。자세한내용은gydF4y2Ba벡터화사용gydF4y2Ba항목을참조하십시오。gydF4y2Ba

기본적으로MATLAB에서모든연산은배정밀도부동소수점산술로수행됩니다。그러나대부분의연산에서정수형과단정밀도부동소수점유형을비롯한다양한데이터형을지원합니다。현재GPU와CPU는일반적으로단정밀도연산을수행할때처리량이훨씬많으며단정밀도부동소수점데이터는메모리를덜차지합니다。응용프로그램의정확도요구사항에서단정밀도부동소수점사용을허용하는경우MATLAB코드의성능이훨씬향상될수있습니다。gydF4y2Ba

GPU는PCI버스라고하는데이터전송메커니즘의마지막에위치합니다。이버스는PC호스트메모리에서다양한확장카드로데이터를전송하는높은대역폭의효율적인방식이지만GPU장치CPU나의전역메모리에대한전체대역폭보다는여전히훨씬느립니다。자세한내용은gydF4y2Ba测量GPU性能gydF4y2Ba예제를참조하십시오。또한gpu장치에서matlab호스트메모리로전송할때은에장치에서중인모든모든장치에서기다려야중모든연산에에이로인해응용프로그램의이매우저하될수있습니다。일반적으로MATLAB작업공간과GPU간에데이터를전송하는횟수를제한해야합니다。응용프로그램을시작할때GPU로데이터를한번전송할수있는경우,GPU에서수행할수있는모든계산을수행한다음마지막에결과를다시MATLAB으로전송하는것이일반적으로가장좋은성능을발휘합니다。마찬가지지,gpu에서직접배열을만들있는경우gydF4y2Ba0gydF4y2Ba와같은함수에대해gydF4y2Ba“gpuArray”gydF4y2Ba또는gydF4y2Ba'喜欢'gydF4y2Ba옵션을사용합니다(예:기존gpuArraygydF4y2BaggydF4y2Ba의경우gydF4y2Baz = zeros(___,'gpuarray')gydF4y2Ba또는gydF4y2BaZ = 0 (N,“喜欢”,g)gydF4y2Ba사용)。gydF4y2Ba

gpu에대한성능측정하기gydF4y2Ba

GPU에에대한성능성능을측정가장좋은좋은방법gydF4y2Bagputimeit.gydF4y2Ba를사용하는것입니다。이함수는입력인수가없는함수핸들을입력값으로사용하고측정된함수실행시간을반환합니다。더정확한결과를얻기위해시간이지정된연산을반복하고,초기화오버헤드를방지하기위해측정전에함수를실행하고,시간측정함수의오버헤드를제거하는등벤치마킹에서고려해야할사항들을준수합니다。또한gydF4y2Bagputimeit.gydF4y2Ba는최종시간측정전에모든GPU연산을완료하도록합니다。gydF4y2Ba

예를들어,크기가gydF4y2BaNgydF4y2Ba×gydF4y2BaNgydF4y2Ba인확률행렬gydF4y2Ba一个gydF4y2Ba의gydF4y2Ba鲁gydF4y2Ba행렬분해를계산하는데시간을을측정고가정합니다。gydF4y2Ba鲁gydF4y2Ba행렬행렬분해를수행수행하는함수정의정의gydF4y2Bagputimeit.gydF4y2Ba에함수핸들을전달하여이작업을수행할수있습니다。gydF4y2Ba

兰德(N =gydF4y2Ba“gpuArray”gydF4y2Ba);fh = @()lu(a);Gputimeit(FH,2);gydF4y2Ba%2nd arg表示输出的数量gydF4y2Ba

또한gydF4y2Ba抽搐gydF4y2Ba과gydF4y2BaTOC.gydF4y2Ba을사용하여성능을측정할수도있습니다。그러나gpu에서정확히시간을측정하려면gydF4y2BaTOC.gydF4y2Ba을호출하기전에연산이완료될때까지기다려야합니다。이작업을수행하는방법에는두가지가있습니다。gydF4y2BaTOC.gydF4y2Ba을호출하기전에최종gpu출력시점에서gydF4y2Ba收集gydF4y2Ba를호출할수있습니다。이렇게하면걸린시간을측정하기전에모든계산이완료됩니다。또는gydF4y2BaGPudevice.gydF4y2Ba객체를입력값으로하는gydF4y2Ba等待gydF4y2Ba함수를사용할수있습니다。예를들어,gydF4y2Ba抽搐gydF4y2Ba,gydF4y2BaTOC.gydF4y2Ba및gydF4y2Ba等待gydF4y2Ba을사용하여행렬gydF4y2Ba一个gydF4y2Ba의gydF4y2Ba鲁gydF4y2Ba00gydF4y2Ba

gd = gpudevice();Tic();[l,u] = lu(a);等待(GD);tlu = toc();gydF4y2Ba

또한MATLAB프로파일러를사용하여GPU코드에서계산시간이어떻게분산되는지표시할수도있습니다。주의할점은,프로파일러는시간을측정하기위해각코드라인을독립적으로실행하기때문에평소의연산중에발생할수있는중첩(비동기)실행은프로파일러가대응할수없다는것입니다。전체알고리즘의시간을측정하려면위에설명된대로gydF4y2Ba抽搐gydF4y2Ba과gydF4y2BaTOC.gydF4y2Ba또는gydF4y2Bagputimeit.gydF4y2Ba를사용해야합니다。또한사용자가정의한墨西哥人함수를비동기적으로실행할경우프로파일은올바른결과를산출하지않을수도있습니다。gydF4y2Ba

GPU성능향상을위해벡터화하기gydF4y2Ba

이예제에서는cpu대신gpu에서함수를실행계산을벡터화하여성능을하는방법을보여줍니다。gydF4y2Ba

행렬의열에대한빠른컨벌루션을수행하는함수를가정하겠습니다。신호처리응용프로그램에서의일반적연산인빠른컨벌루션은각데이터열을시간영역에서주파수영역으로변환하고,여기에필터벡터의변환을곱하고,다시시간영역으로변환한후결과를출력행렬에저장합니다。gydF4y2Ba

函数gydF4y2Bay = fastConvolution(data,filter) [m,n] = size(data); / /读取数据gydF4y2Ba%零填充过滤器到数据的列长度,并转换gydF4y2Bafilter_f = fft(过滤器,米);gydF4y2Ba%创建一个与data大小和类相同的零数组gydF4y2Bay = 0 (m, n,gydF4y2Ba'喜欢'gydF4y2Ba、数据);gydF4y2Ba%转换每一列数据gydF4y2Ba为了gydF4y2BaIx = 1:n af = fft(data(:, Ix));Y (:,ix) = ifft(af .* filter_f);gydF4y2Ba结尾gydF4y2Ba结尾gydF4y2Ba

이함수를CPU에서특정크기의데이터에대해실행하고MATLABgydF4y2Ba时代gydF4y2Ba함수를사용하여실행시간을측정합니다。gydF4y2Ba时代gydF4y2Ba함수는초기시작및오버헤드와같이벤치마킹에서일반적으로고려해야할사항들을준수합니다。gydF4y2Ba

一个=复杂(randn (4096, 100), randn(4096、100));gydF4y2Ba%数据输入gydF4y2Ba1 b = randn(16日);gydF4y2Ba%滤波器输入gydF4y2Bac = fastConvolution (a, b);gydF4y2Ba%计算输出gydF4y2Bactime时间= (@ ()fastConvolution (a, b));gydF4y2Ba%测量CPU时间gydF4y2BaDISP([gydF4y2Ba' CPU的执行时间= 'gydF4y2Ba,num2str(立方)]);gydF4y2Ba

표본으로택한컴퓨터에서이코드는다음과같은출력값을합니다합니다。gydF4y2Ba

CPU上的执行时间= 0.019335gydF4y2Ba

이제gpu에서이함수함수실행해보겠습니다。입력입력이터를일반matlab배열이아닌이아닌gpuarray로변경하면작업을쉽게수행수있습니다。함수함수내에출력출력값을만들사용되는gydF4y2Ba'喜欢'gydF4y2Ba구문은gydF4y2Ba数据gydF4y2Ba付款管理码gydF4y2BaygydF4y2Ba가gpuArray가되도록합니다。gydF4y2Ba

ga = gpuarray(a);gydF4y2Ba%移动阵列到GPUgydF4y2Bagb = gpuarray(b);gydF4y2Ba%将过滤器移动到GPUgydF4y2Bagc = fastConvolution (ga、gb);gydF4y2Ba在GPU上计算gydF4y2Bagtime = gputimeit (@ () fastConvolution (ga, gb));gydF4y2Ba测量GPU时间gydF4y2Bagerr = max (max (abs(收集(gc) - c)));gydF4y2Ba%计算错误gydF4y2BaDISP([gydF4y2Ba'在GPU ='上的执行时间gydF4y2Ba,num2str(gtime)]);DISP([gydF4y2Ba'最大绝对误差= 'gydF4y2Ba,num2str(gerr)]);gydF4y2Ba

동일한컴퓨터에서이코드는다음과같은출력값을표시합니다。gydF4y2Ba

CPU上的执行时间= 0.019335在GPU上的执行时间= 0.027235最大绝对误差= 1.1374E-14gydF4y2Ba

그러나이문제의경우GPU CPU가보다속도가느립니다。그이유는gydF4y2Ba为了gydF4y2Ba루프가길의이4096개별열에대해FFT,곱셈및역FFT연산을실행하기때문입니다。성능을높이는가장좋은방법은단MATLAB함일수호출이더많은계산을수행하도록코드를벡터화하는것입니다。FFT연산과传输线연산은벡터화하기쉽습니다。gydF4y2Bafft (A)gydF4y2Ba는행렬gydF4y2Ba一个gydF4y2Ba의각열에대한FFT를계산합니다。MATLAB이진스칼라스칼라확장gydF4y2BabsxfungydF4y2Ba을사용하여하여한번에행렬의모든열과필터의을수행할수수벡터화된함수는다음과같습니다。gydF4y2Ba

函数gydF4y2BaY = FastConvolules_v2(数据,滤波器)m =大小(数据,1);gydF4y2Ba%零填充滤波器的长度的数据,并转换gydF4y2Bafilter_f = fft(过滤器,米);gydF4y2Ba%转换输入的每一列gydF4y2Ba房颤= fft(数据);gydF4y2Ba%每列乘以过滤器和计算反变换gydF4y2Bay =传输线(bsxfun (@times,房颤,filter_f));gydF4y2Ba结尾gydF4y2Ba

벡터화된함수를사용하여동일한실험을수행합니다。gydF4y2Ba

一个=复杂(randn (4096, 100), randn(4096、100));gydF4y2Ba%数据输入gydF4y2Ba1 b = randn(16日);gydF4y2Ba%滤波器输入gydF4y2BaC = FastConvolulate_v2(a,b);gydF4y2Ba%计算输出gydF4y2Bactime = timeit(@()fastconvolution_v2(a,b));gydF4y2Ba%测量CPU时间gydF4y2BaDISP([gydF4y2Ba' CPU的执行时间= 'gydF4y2Ba,num2str(立方)]);ga = gpuarray(a);gydF4y2Ba%将数据移动到GPUgydF4y2Bagb = gpuarray(b);gydF4y2Ba%将过滤器移动到GPUgydF4y2Bagc = fastconvolult_v2(ga,gb);gydF4y2Ba在GPU上计算gydF4y2Bagtime = gputimeit(@()fastconvolules_v2(ga,gb));gydF4y2Ba测量GPU时间gydF4y2Bagerr = max (max (abs(收集(gc) - c)));gydF4y2Ba%计算错误gydF4y2BaDISP([gydF4y2Ba'在GPU ='上的执行时间gydF4y2Ba,num2str(gtime)]);DISP([gydF4y2Ba'最大绝对误差= 'gydF4y2Ba,num2str(gerr)]);gydF4y2Ba
CPU上执行时间= 0.010393 GPU上执行时间= 0.0020537最大绝对误差= 1.1374e-14gydF4y2Ba

결론적으로코드를벡터화하면CPU버전과GPU버전모두더빠르게실행할수있습니다。그러나벡터화는cpu버전보다보다gpu버전에서훨씬효과가큽니다。향상된CPU버전은원래보다두배가까이빠르고향상된GPU버전은원래보다13배더빠릅니다。원래버전에서는gpu코드가cpu보다40%느렸지만수정된버전는약5배더빠릅니다。gydF4y2Ba

GPU문제해결하기gydF4y2Ba

컴퓨터GPU에가하나만있는경우에는그래픽스카드도디스플레이카드처럼동작합니다。이경우OS(운영체제)가부과하는제한시간이GPU에적용될수있습니다。다음을통해GPU에대한제한시간을확인할수있습니다。gydF4y2Ba

GPudevice.gydF4y2Ba
ANS =.gydF4y2Ba
...gydF4y2Ba
KernelExecutionTimeout: 1gydF4y2Ba
KernelExecutionTimeout = 1gydF4y2BaOS이면가부과하는제한시간이GPU에적용되며,따라서OS가갱신된내용을화면에항상표시할수있습니다。GPU연산이너무오래걸릴경우에는연산이중단됩니다。GPU이경우연산을무사히재개하려면MATLAB을다시시작해야합니다。gydF4y2Ba

참고항목gydF4y2Ba

관련항목gydF4y2Ba