scheduler_apis.cc 1.37 KB
Newer Older
1
/**
2
 *  Copyright (c) 2018 by Contributors
3
4
 * @file scheduler/scheduler_apis.cc
 * @brief DGL scheduler APIs
5
 */
6
#include <dgl/array.h>
Lingfan Yu's avatar
Lingfan Yu committed
7
8
#include <dgl/graph.h>
#include <dgl/scheduler.h>
9

10
#include "../array/cpu/array_utils.h"
11
#include "../c_api_common.h"
Lingfan Yu's avatar
Lingfan Yu committed
12

13
14
15
using dgl::runtime::DGLArgs;
using dgl::runtime::DGLRetValue;
using dgl::runtime::NDArray;
Lingfan Yu's avatar
Lingfan Yu committed
16
17
18

namespace dgl {

19
20
21
22
23
24
25
26
27
28
29
30
DGL_REGISTER_GLOBAL(
    "_deprecate.runtime.degree_bucketing._CAPI_DGLDegreeBucketing")
    .set_body([](DGLArgs args, DGLRetValue* rv) {
      const IdArray msg_ids = args[0];
      const IdArray vids = args[1];
      const IdArray nids = args[2];
      CHECK_SAME_DTYPE(msg_ids, vids);
      CHECK_SAME_DTYPE(msg_ids, nids);
      ATEN_ID_TYPE_SWITCH(msg_ids->dtype, IdType, {
        *rv = ConvertNDArrayVectorToPackedFunc(
            sched::DegreeBucketing<IdType>(msg_ids, vids, nids));
      });
31
    });
32

33
34
35
36
37
38
39
40
41
42
43
44
DGL_REGISTER_GLOBAL(
    "_deprecate.runtime.degree_bucketing._CAPI_DGLGroupEdgeByNodeDegree")
    .set_body([](DGLArgs args, DGLRetValue* rv) {
      const IdArray uids = args[0];
      const IdArray vids = args[1];
      const IdArray eids = args[2];
      CHECK_SAME_DTYPE(uids, vids);
      CHECK_SAME_DTYPE(uids, eids);
      ATEN_ID_TYPE_SWITCH(uids->dtype, IdType, {
        *rv = ConvertNDArrayVectorToPackedFunc(
            sched::GroupEdgeByNodeDegree<IdType>(uids, vids, eids));
      });
45
    });
Lingfan Yu's avatar
Lingfan Yu committed
46

47
}  // namespace dgl