MATLAB 帮助中心
本页采用了机器翻译。点击此处可查看最新英文版本。
等待 GPU 计算完成
wait(gpudev)
wait(gpudev) 阻止 MATLAB® 中的执行,直到 GPUDevice 对象 gpudev 标识的 GPU 设备完成其计算。当计时 GPU 代码不会将结果收集回工作区时,可以在调用 tic 和 toc 之前使用它。当使用 gather 函数从 GPU 收集结果时,MATLAB 会等待所有 GPU 计算完成,因此在这种情况下您不需要明确调用 wait。
gpudev
GPUDevice
tic
toc
gather
wait
示例
全部折叠
MATLAB® 中的 GPU 操作异步运行,即它们在后台运行,并且在运行后续代码行时不一定完成。当对 GPU 上运行的代码进行计时时,这很重要。
您可以使用 gputimeit函数来计时某个函数在 GPU 上执行所需的时间,这可确保在记录时间之前 GPU 上的所有操作都已完成。由于 gputimeit 运行该函数多次,因此它可能不适合对特别长时间运行的代码进行计时。或者,使用 tic 和 toc 函数,在每个函数之前调用 wait。
gputimeit
选择您的默认 GPU 设备。
gpu = gpuDevice; disp(gpu.Name + " GPU selected.")
NVIDIA RTX A5000 GPU selected.
在 GPU 上创建一个包含随机数的 1000×1000 矩阵。
A = rand(1000,"gpuArray");
等待 GPU 设备完成创建矩阵 A 并使用 tic 开始计时。
A
wait(gpu) tic
使用 lu函数将矩阵分解为上三角矩阵和置换下三角矩阵。
lu
[L,U] = lu(A);
等待计算完成,然后使用 toc 输出经过的时间。
wait(gpu) toc
Elapsed time is 0.014811 seconds.
GPU 设备,指定为代表当前选定的设备的 GPUDevice 对象。要获取 GPUDevice 对象,请使用 gpuDevice 函数。
gpuDevice
全部展开
backgroundPool
ThreadPool
该函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
在 R2014b 中推出
gpuDevice | gputimeit | gpuArray
gpuArray
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处