I have 200 GB of computer memory.
However, I only have 6GB of GPU memory.
I realize that I need to allocate memory on the GPU alone to run GPU processing.
What I want to do is to run the 20GB of processing I need in GPGPU at high speed.
Is it possible to run the execution function (kwave3D) on 6GB of gpu while only temporarily saving the things I need to remember (e.g., medium, kgrid, transducer) to non-GPU memory?
k-Wave
A MATLAB toolbox for the time-domain
simulation of acoustic wave fields
Want to temporarily save what should be stored in non-GPU memory
(4 posts) (3 voices)-
Posted 4 years ago #
-
Hi monmo,
The most memory efficient way is to use the native GPU code, e.g., via
kspaceFirstOrder3DG
. This allocates only the memory needed during the simulation, and streams the output data back to the output file. If the simulation requires more than the available memory on the GPU, unfortunately, there's no way to execute this and you will receive an error.Brad.
Posted 4 years ago # -
If the data can't fit into GPU memory, it doesn't make any sense to run the simulation on GPU. We could theoretically store some data on CPU and move it back and forth to GPU. However, k-Wave is a strongly memory bound code and doing so would knock down the performance far below the CPU code.
Posted 4 years ago # -
Thank you very much.
Posted 4 years ago #
Reply
You must log in to post.