Mostrar comentarios más antiguos
GeForce RTX1660 Parallel computing toolbox バージョン 7.4を使用しています
実行したい処理に対してGPUメモリが少ないためメモリをクリアしながらやりくりしたいのですが、意図した通りにGPUメモリが開放されません
具体的に困っている状況を再現したのが下記のコード、写真はコードを実行したときのタスクマネージャの画面です
画像上下の違いは変数のサイズです
画像上の場合、最後のgpuAray型変数であるp4を解放したときに一気にメモリが開放され、p0~p3を削除してもメモリが空きません
一方下の場合、3GBあたりまでは開放されるのですが、p3のclearが反映されておらず、こちらもp4で一気にp3の分も開放されます
この3GBはワークスペースに存在しないのですがどこにあるのでしょうか。また,この3GBを全てのgpuAray型の変数をクリアすることなく,プログラムの実行中に削除することはできますか。
これがGPUの問題なのか、MATLABのキャッシュ等の仕様なのかということがまだ判別できておりませんが、MATLAB側で解決できるのではないかと思い質問させていただきました。よろしくお願いいたします。
X = 1200; Y = 200; Z = 200; % 写真 上
% X = 1800; Y = 300; Z = 200; % 写真 下
p0=gpuArray.rand(X,Y,Z);
pause(3)
p1=gpuArray.rand(X,Y,Z);
pause(3)
p2=gpuArray.rand(X,Y,Z);
pause(3)
p3=gpuArray.rand(X,Y,Z);
pause(3)
p4=gpuArray.rand(X,Y,Z);
pause(3)
clear p0
pause(3)
clear p1
pause(3)
clear p2
pause(3)
clear p3
pause(3)
pause(3)
clear p4

Respuesta aceptada
Más respuestas (0)
Categorías
Más información sobre Parallel and Cloud en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!