MCPcopy Create free account
hub / github.com/MegEngine/MegEngine / features

Method features

src/jit/impl/halide/compiler_cuda.cpp:26–52  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

24};
25
26HalideCudaTargetTrait::FeatureSet HalideCudaTargetTrait::features(
27 CompNode comp_node) const {
28 FeatureSet set;
29 set.set(Target::CUDA);
30 auto&& prop = CompNodeEnv::from_comp_node(comp_node).cuda_env().device_prop;
31 auto in = [ver = prop.major * 10 + prop.minor](int low, int high) {
32 return ver >= low && ver < high;
33 };
34 if (in(30, 32)) {
35 set.set(Target::CUDACapability30);
36 } else if (in(32, 35)) {
37 set.set(Target::CUDACapability32);
38 } else if (in(35, 40)) {
39 set.set(Target::CUDACapability35);
40 } else if (in(50, 61)) {
41 set.set(Target::CUDACapability50);
42 } else if (in(61, 70)) {
43 set.set(Target::CUDACapability61);
44 } else {
45 mgb_log_warn(
46 "cuda capability(%d.%d) not support for Halide, using compute "
47 "capability 6.1",
48 prop.major, prop.minor);
49 set.set(Target::CUDACapability61);
50 }
51 return set;
52}
53
54HalideCudaTargetTrait::FunctionHandle HalideCudaTargetTrait::compile_and_load(
55 CompNode comp_node, Halide::Target target, const HalideExecutable& hl_exec) {

Callers 2

executeMethod · 0.80
compile_and_loadMethod · 0.80

Calls 1

setMethod · 0.45

Tested by

no test coverage detected