Skip to content

Reply To: Manipulating populations with postprocessors on GPU

Due to recent bot attacks we have changed the sign-up process. If you want to participate in our forum, first register on this website and then send a message via our contact form.

Forums OpenLB General Topics Manipulating populations with postprocessors on GPU Reply To: Manipulating populations with postprocessors on GPU

#10965
jmctighe
Participant

After running some more debugging tests, the same error persists when running with a single CPU core. I was able to successfully use run the shear periodic post processor on a M1 MacBook, but I am encountering this issue on a linux machine. Additionally, the same error is produced when using the official 1.8.1 release and the most recent release on gitlab. I am also able to compile and run the examples without issue.

The debugging errors suggest that the problem may be related to my use of ‘neighbor’. For example, when compiling for a single CPU core, displaying the contents of cell using gdb within the interpolateDF function yields:

cell = (olb::cpu::Cell<double, olb::descriptors::D3Q19<>, (olb::Platform)0> &) @0x7fffffffb280: {
  _lattice = 0x7fffffffb4d0, _iCell = 171}

While the display output for f_x1 is:
f_x1 = {_lattice = 0x7fffffffb4d0, _iCell = 2147483819}

It looks as though the other attributes of cell are not getting carried along. Although, the type for f_x1 is still olb::cpu::Cell<double, olb::descriptors::D3Q19<>, (olb::Platform)0>. I tried modifying the definitions of f_x1 and f_x2 to be of the form
auto f_x1 = cell.neighbor(point1).template getField<descriptors::POPULATION>();,
but this was not successful either.

Hoping this additional information is of use. Thanks again for your help.
-jmctighe