pytorch

Форк
0
/
mkl-dnn.BUILD 
144 строки · 6.1 Кб
1
load("@rules_cc//cc:defs.bzl", "cc_library")
2
load("@pytorch//third_party:substitution.bzl", "template_rule")
3

4
_DNNL_RUNTIME_OMP = {
5
    "#cmakedefine DNNL_CPU_THREADING_RUNTIME DNNL_RUNTIME_${DNNL_CPU_THREADING_RUNTIME}": "#define DNNL_CPU_THREADING_RUNTIME DNNL_RUNTIME_OMP",
6
    "#cmakedefine DNNL_CPU_RUNTIME DNNL_RUNTIME_${DNNL_CPU_RUNTIME}": "#define DNNL_CPU_RUNTIME DNNL_RUNTIME_OMP",
7
    "#cmakedefine DNNL_GPU_RUNTIME DNNL_RUNTIME_${DNNL_GPU_RUNTIME}": "#define DNNL_GPU_RUNTIME DNNL_RUNTIME_NONE",
8
    "#cmakedefine DNNL_USE_RT_OBJECTS_IN_PRIMITIVE_CACHE": "/* undef DNNL_USE_RT_OBJECTS_IN_PRIMITIVE_CACHE */",
9
    "#cmakedefine DNNL_WITH_SYCL": "/* #undef DNNL_WITH_SYCL */",
10
    "#cmakedefine DNNL_WITH_LEVEL_ZERO": "/* #undef DNNL_WITH_LEVEL_ZERO */",
11
    "#cmakedefine DNNL_SYCL_CUDA": "/* #undef DNNL_SYCL_CUDA */",
12
    "#cmakedefine DNNL_SYCL_HIP": "/* #undef DNNL_SYCL_HIP */",
13
    "#cmakedefine DNNL_ENABLE_STACK_CHECKER": "#undef DNNL_ENABLE_STACK_CHECKER",
14
    "#cmakedefine DNNL_EXPERIMENTAL": "#undef DNNL_EXPERIMENTAL",
15
    "#cmakedefine DNNL_EXPERIMENTAL_SPARSE": "#undef DNNL_EXPERIMENTAL_SPARSE",
16
    "#cmakedefine ONEDNN_BUILD_GRAPH": "#undef ONEDNN_BUILD_GRAPH",
17
    "#cmakedefine DNNL_EXPERIMENTAL_PROFILING": "#undef DNNL_EXPERIMENTAL_PROFILING",
18
    "#cmakedefine01 BUILD_TRAINING": "#define BUILD_TRAINING 1",
19
    "#cmakedefine01 BUILD_INFERENCE": "#define BUILD_INFERENCE 0",
20
    "#cmakedefine01 BUILD_PRIMITIVE_ALL": "#define BUILD_PRIMITIVE_ALL 1",
21
    "#cmakedefine01 BUILD_BATCH_NORMALIZATION": "#define BUILD_BATCH_NORMALIZATION 0",
22
    "#cmakedefine01 BUILD_BINARY": "#define BUILD_BINARY 0",
23
    "#cmakedefine01 BUILD_CONCAT": "#define BUILD_CONCAT 0",
24
    "#cmakedefine01 BUILD_CONVOLUTION": "#define BUILD_CONVOLUTION 0",
25
    "#cmakedefine01 BUILD_DECONVOLUTION": "#define BUILD_DECONVOLUTION 0",
26
    "#cmakedefine01 BUILD_ELTWISE": "#define BUILD_ELTWISE 0",
27
    "#cmakedefine01 BUILD_GROUP_NORMALIZATION": "#define BUILD_GROUP_NORMALIZATION 0",
28
    "#cmakedefine01 BUILD_INNER_PRODUCT": "#define BUILD_INNER_PRODUCT 0",
29
    "#cmakedefine01 BUILD_LAYER_NORMALIZATION": "#define BUILD_LAYER_NORMALIZATION 0",
30
    "#cmakedefine01 BUILD_LRN": "#define BUILD_LRN 0",
31
    "#cmakedefine01 BUILD_MATMUL": "#define BUILD_MATMUL 0",
32
    "#cmakedefine01 BUILD_POOLING": "#define BUILD_POOLING 0",
33
    "#cmakedefine01 BUILD_PRELU": "#define BUILD_PRELU 0",
34
    "#cmakedefine01 BUILD_REDUCTION": "#define BUILD_REDUCTION 0",
35
    "#cmakedefine01 BUILD_REORDER": "#define BUILD_REORDER 0",
36
    "#cmakedefine01 BUILD_RESAMPLING": "#define BUILD_RESAMPLING 0",
37
    "#cmakedefine01 BUILD_RNN": "#define BUILD_RNN 0",
38
    "#cmakedefine01 BUILD_SHUFFLE": "#define BUILD_SHUFFLE 0",
39
    "#cmakedefine01 BUILD_SOFTMAX": "#define BUILD_SOFTMAX 0",
40
    "#cmakedefine01 BUILD_SUM": "#define BUILD_SUM 0",
41
    "#cmakedefine01 BUILD_PRIMITIVE_CPU_ISA_ALL": "#define BUILD_PRIMITIVE_CPU_ISA_ALL 1",
42
    "#cmakedefine01 BUILD_SSE41": "#define BUILD_SSE41 0",
43
    "#cmakedefine01 BUILD_AVX2": "#define BUILD_AVX2 0",
44
    "#cmakedefine01 BUILD_AVX512": "#define BUILD_AVX512 0",
45
    "#cmakedefine01 BUILD_AMX": "#define BUILD_AMX 0",
46
    "#cmakedefine01 BUILD_PRIMITIVE_GPU_ISA_ALL": "#define BUILD_PRIMITIVE_GPU_ISA_ALL 1",
47
    "#cmakedefine01 BUILD_GEN9": "#define BUILD_GEN9 0",
48
    "#cmakedefine01 BUILD_GEN11": "#define BUILD_GEN11 0",
49
    "#cmakedefine01 BUILD_XELP": "#define BUILD_XELP 0",
50
    "#cmakedefine01 BUILD_XEHPG": "#define BUILD_XEHPG 0",
51
    "#cmakedefine01 BUILD_XEHPC": "#define BUILD_XEHPC 0",
52
    "#cmakedefine01 BUILD_XEHP": "#define BUILD_XEHP 0",
53
    "#cmakedefine01 BUILD_GEMM_KERNELS_ALL": "#define BUILD_GEMM_KERNELS_ALL 0",
54
    "#cmakedefine01 BUILD_GEMM_KERNELS_NONE": "#define BUILD_GEMM_KERNELS_NONE 0",
55
    "#cmakedefine01 BUILD_GEMM_SSE41": "#define BUILD_GEMM_SSE41 0",
56
    "#cmakedefine01 BUILD_GEMM_AVX2": "#define BUILD_GEMM_AVX2 0",
57
    "#cmakedefine01 BUILD_GEMM_AVX512": "#define BUILD_GEMM_AVX512 0",
58
}
59

60
template_rule(
61
    name = "include_dnnl_version",
62
    src = "include/oneapi/dnnl/dnnl_version.h.in",
63
    out = "include/oneapi/dnnl/dnnl_version.h",
64
    substitutions = {
65
        "@DNNL_VERSION_MAJOR@": "3",
66
        "@DNNL_VERSION_MINOR@": "3",
67
        "@DNNL_VERSION_PATCH@": "2",
68
        "@DNNL_VERSION_HASH@": "2dc95a2ad0841e29db8b22fbccaf3e5da7992b01",
69
    },
70
)
71

72
template_rule(
73
    name = "include_dnnl_config",
74
    src = "include/oneapi/dnnl/dnnl_config.h.in",
75
    out = "include/oneapi/dnnl/dnnl_config.h",
76
    substitutions = _DNNL_RUNTIME_OMP,
77
)
78

79
cc_library(
80
    name = "mkl-dnn",
81
    srcs = glob([
82
        "src/common/*.cpp",
83
        "src/cpu/**/*.cpp",
84
    ], exclude=[
85
        "src/cpu/aarch64/**/*.cpp",
86
        "src/cpu/rv64/**/*.cpp",
87
    ]),
88
    hdrs = glob([
89
        "include/oneapi/dnnl/*.h",
90
        "include/oneapi/dnnl/*.hpp",
91
        "include/*.h",
92
        "include/*.hpp",
93
        "src/cpu/**/*.hpp",
94
        "src/cpu/**/*.h",
95
        "src/common/*.hpp",
96
        "src/common/ittnotify/jitprofiling.h",
97
    ], exclude=[
98
        "src/cpu/aarch64/**/*.hpp",
99
        "src/cpu/aarch64/**/*.h",
100
        "src/cpu/rv64/**/*.hpp",
101
        "src/cpu/rv64/**/*.h",
102
    ]) + [
103
        "include/oneapi/dnnl/dnnl_config.h",
104
        "include/oneapi/dnnl/dnnl_version.h",
105
    ],
106
    copts = [
107
        "-DDNNL_DLL",
108
        "-DDNNL_DLL_EXPORTS",
109
        "-DDNNL_ENABLE_CONCURRENT_EXEC",
110
        "-D__STDC_CONSTANT_MACROS",
111
        "-D__STDC_LIMIT_MACROS",
112
        "-fno-strict-overflow",
113
        "-fopenmp",
114
    ] + select({
115
        "@pytorch//tools/config:thread_sanitizer": ["-DDNNL_CPU_RUNTIME=0"],
116
        "//conditions:default": ["-DDNNL_CPU_RUNTIME=2"],
117
    }),
118
    includes = [
119
        "include/",
120
        "include/oneapi/",
121
        "include/oneapi/dnnl/",
122
        "src/",
123
        "src/common/",
124
        "src/cpu/",
125
        "src/cpu/x64/xbyak/",
126
    ],
127
    visibility = ["//visibility:public"],
128
    linkopts = [
129
        "-lgomp",
130
    ],
131
    deps = [
132
        "@mkl",
133
    ] + select({
134
        "@pytorch//tools/config:thread_sanitizer": [],
135
        "//conditions:default": ["@tbb"],
136
    }),
137
    defines = [
138
        "DNNL_ENABLE_MAX_CPU_ISA",
139
        "DNNL_ENABLE_CONCURRENT_EXEC",
140
        "DNNL_ENABLE_PRIMITIVE_CACHE",
141
        "DNNL_ENABLE_CPU_ISA_HINTS",
142
        "ONEDNN_BUILD_GRAPH",
143
    ],
144
)
145

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.