Remove 32 atom limit
proteneer opened this issue · comments
Yutong Zhao commented
Currently a molecule is limited to 32 atoms at most It's currently set to 32 because it was a convenient warp size. In principle one can increase the iterations per thread within a given block.
The GPU kernel for the featurizer is launched with the following settings:
featurize<<<n_mols, 32, 0, d.stream()>>>(
input_Xs.flat<float>().data(),
input_Ys.flat<float>().data(),
input_Zs.flat<float>().data(),
input_As.flat<int>().data(),
input_MOs.flat<int>().data(),
input_MACs.flat<int>().data(),
n_mols,
input_SIs.flat<int>().data(),
X_feat_H->flat<float>().data(),
X_feat_C->flat<float>().data(),
X_feat_N->flat<float>().data(),
X_feat_O->flat<float>().data()
);
where n_mols and 32 are the gridDim.x and blockDim.x sizes - note these have a max size of 2^16 as well.
Yutong Zhao commented
Resolved.