Shared memory & sync, changes not visible

some_value’s type is a data structure (EuclideanTransform3f - see below)

[codebox]struct float3x3

{

float3 rows[3];

__device__ void operator=(const float3x3 &b)

{

	rows[0] = b.rows[0];

	rows[1] = b.rows[1];

	rows[2] = b.rows[2];

}

};

struct align(16) EuclideanTransform3f

{

float3x3 R;

float3 T;

__device__ void operator=(const EuclideanTransform3f &b)

{

	R = b.R;

	T = b.T;

}

};[/codebox]

Update: I just tested with various other types (float2/3/4) - they all exhibit the same problem.

Looking into a repro case (I’ve tried this before though, with little/no success - I suspect the size of my kernel is somehow making the compiler a bit crazy, that said it’s a fairly straight forward kernel)