Open saeedhd96 opened 3 years ago
Hello @saeedhd96,
a version of broken branch
The broken
branch is not supported, and many bugs will be fixed in the upcoming release (hopefully including the memory leak that you observe).
In the meantime, you could try the alternative formulation just to see if it helps:
// throughput[active] *= bsdf_val;
throughput = ek::select(active, throughput * bsdf_val, throughput);
Summary
Strange memory leakage in case of masked assignment!
System configuration
I am using a version of broken branch!
Description
I have defined a method called
sample2
which is inside an integrator. This method is supposed to do Witthed-style ray tracing and return the resulting surface interaction. No need to read all the contents of the code to answer my question. The strange behavior of memory leakage happens at one of the lines of this code when I dothroughput[active] *= bsdf_val;
! That line is just a normal masked assignment that is used in any integratorsample
methods. It is shown in the code bellow under the only commented line. Would you mind helping me figure out the reason?By memory leakage I mean, memory is allocated and not freed, so that over time, the accumalated unused memory causes shortage of memory. Once I comment out this line, the problem doesn't exist anymore.
Your time is appreciated.