proteneer / khan

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Remove 32 atom limit

proteneer opened this issue · comments

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.

Resolved.