Weird error when I try to load a model and use predict

When I train my model and then use it to predict, no error. But if I save it using save_model and then load it again, I get this error:

XGBoostError: [18:42:47] ../src/data/iterative_device_dmatrix.h:50: Not implemented.
Stack trace:
  [bt] (0) /usr/local/lib/python3.6/dist-packages/xgboost/lib/ [0x7f765c330264]
  [bt] (1) /usr/local/lib/python3.6/dist-packages/xgboost/lib/ [0x7f765c61b17f]
  [bt] (2) /usr/local/lib/python3.6/dist-packages/xgboost/lib/ [0x7f765c4be620]
  [bt] (3) /usr/local/lib/python3.6/dist-packages/xgboost/lib/ [0x7f765c4c0154]
  [bt] (4) /usr/local/lib/python3.6/dist-packages/xgboost/lib/ [0x7f765c41555b]
  [bt] (5) /usr/local/lib/python3.6/dist-packages/xgboost/lib/ [0x7f765c445655]
  [bt] (6) /usr/local/lib/python3.6/dist-packages/xgboost/lib/ [0x7f765c323b55]
  [bt] (7) /usr/lib/x86_64-linux-gnu/ [0x7f76f6d6cdae]
  [bt] (8) /usr/lib/x86_64-linux-gnu/ [0x7f76f6d6c71f]

I am using the latest version on Google Colab with a GPU and a DeviceQuantileMatrix instead of a normal DMatrix.

Didn’t realize CPU_Predictor is default when loading from disk. Just had to set parameter predictor to GPU. Oops.

Setting GPU ID also helps. We don’t use GPU predictor automatically if the gpu_id is not set.