Hi, ptrblck.
I think I have passed a list to input_dim_list in that code which is as follows:
self.rand = RandomLayer([feat_d, feat_d2], feat_d3). And that code could work in single gpu, giving len(self.random_matrix) equals to 2 correctly. But 2 gpu will give a wrong result, with len(self.random_matrix) equals to 0.
And I found that in 2 gpus mode, in the class RandomLayer __init__ method, len(self.random_matrix) equals to 2. However, in  RandomLayer forward method, len(self.random_matrix equals to 0.