Closed sayerhs closed 4 years ago
@jsitaraman
info
object contains both hptr
and dptr
that are valid and populated by the solver. TIOGA shouldn't worry about that, beyond checking if the pointer is valid (hptr == nullptr)
or (dptr == nullptr)
.m_info_device
not strictly necessary. It provides a view of the info
struct on GPU. So you can do some_gpu_func<<<blocks, threads>>>(m_info_device)
and access the data structure the same way in device functions as with host functions. Without this, you would do some_gpu_func<<<blocks, threads>>>(m_info.xyz.dptr, m_info.iblank_node.dptr, ...);
Another clarification... when the solver registers minfo
, both hptr
and dptr
will be valid. On non-GPU builds it will just point to the same memory location, on GPU builds it will contain the host/device views. We will not register a separate minfo_device
.
This PR introduces data structures for registering host/device data for MeshBlock and CartGrid/Block