You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Recently I have used AMReX to develop some programs running on GPU with cuda, and the mesh size are given as large as possible (>95% of the GPU memory). Everything goes perfect. However, when the program called the VisMF::Write() function to write checkpoint (in fact it is the AmrCoreAdv::WriteCheckpointFile() copied from the tutorial), the program crashed and said memory out. Obviously the VisMF::Write() function should have allocated additional memory from GPU and caused this problem.
My temporal solution is to use the MultiFab's clear() function to free some MF arrays before calling the WriteCheckpointFile(). After the writing has finished, re-define these MF arrays. However it seems to be somehow a little silly. Is it possible to force the VisMF::Write() use purely the host memory instead of allocating memory from GPU, since host memory is usually much larger? And the copy data to host memory is unavoidable before writing data to hard disk, I think this improvement is worth doing.
The text was updated successfully, but these errors were encountered:
Recently I have used AMReX to develop some programs running on GPU with cuda, and the mesh size are given as large as possible (>95% of the GPU memory). Everything goes perfect. However, when the program called the VisMF::Write() function to write checkpoint (in fact it is the AmrCoreAdv::WriteCheckpointFile() copied from the tutorial), the program crashed and said memory out. Obviously the VisMF::Write() function should have allocated additional memory from GPU and caused this problem.
My temporal solution is to use the MultiFab's clear() function to free some MF arrays before calling the WriteCheckpointFile(). After the writing has finished, re-define these MF arrays. However it seems to be somehow a little silly. Is it possible to force the VisMF::Write() use purely the host memory instead of allocating memory from GPU, since host memory is usually much larger? And the copy data to host memory is unavoidable before writing data to hard disk, I think this improvement is worth doing.
The text was updated successfully, but these errors were encountered: