Hello Roland,
another question on this topic i am trying to wrap my head around:
actually, i am not performing those processor local "integrals" on grid variables, but the result is a new variable (i just chose rho in the example pseudocode i wrote on friday)
now my problem is the scheduling...
i have different radial shells, and a function that computes the "processor-local" value of the quantity i want to sum (which is defined as a type=scalar in my interface.ccl...
in order to be able to do that, i need to schedule my thorn as global loop-local, otherwise i get failed assertions in the loop macros..
now my question is the following:
how can i now perform the reduction on this "processor-local" quantity?
if i write a new function, will it have access to all the instances every processor creates?
if i calculate the reduction inside the "processor-local" function, will it work? because the function is global loop-local and i will need a loop to perform the integration on every shell i specify..
i tried to manually change modes using the carpet c++ macros, but that has led to segmentation faults only so far...
any idea how i could do that?
best wishes,
Vassili