pytorch

Форк
0
/
defs.bzl 
83 строки · 2.8 Кб
1
def get_blas_gomp_arch_deps():
2
    return [
3
        ("x86_64", [
4
            "third-party//IntelComposerXE:{}".format(native.read_config("fbcode", "mkl_lp64", "mkl_lp64_omp")),
5
        ]),
6
        ("aarch64", [
7
            "third-party//OpenBLAS:OpenBLAS",
8
            "third-party//openmp:omp",
9
        ]),
10
    ]
11

12
default_compiler_flags = [
13
    "-Wall",
14
    "-Wextra",
15
    "-Wno-unused-function",
16
    "-Wno-unused-parameter",
17
    "-Wno-error=strict-aliasing",
18
    "-Wno-shadow-compatible-local",
19
    "-Wno-maybe-uninitialized",  # aten is built with gcc as part of HHVM
20
    "-Wno-unknown-pragmas",
21
    "-Wno-strict-overflow",
22
    # See https://fb.facebook.com/groups/fbcode/permalink/1813348245368673/
23
    # These trigger on platform007
24
    "-Wno-stringop-overflow",
25
    "-Wno-class-memaccess",
26
    "-DHAVE_MMAP",
27
    "-DUSE_GCC_ATOMICS=1",
28
    "-D_FILE_OFFSET_BITS=64",
29
    "-DHAVE_SHM_OPEN=1",
30
    "-DHAVE_SHM_UNLINK=1",
31
    "-DHAVE_MALLOC_USABLE_SIZE=1",
32
    "-DCPU_CAPABILITY_DEFAULT",
33
    "-DTH_INDEX_BASE=0",
34
    "-DMAGMA_V2",
35
    "-DNO_CUDNN_DESTROY_HANDLE",
36
    "-DUSE_EXPERIMENTAL_CUDNN_V8_API",  # enable cudnn v8 api
37
    "-DUSE_FBGEMM",
38
    "-DUSE_QNNPACK",
39
    "-DUSE_PYTORCH_QNNPACK",
40
    # The dynamically loaded NVRTC trick doesn't work in fbcode,
41
    # and it's not necessary anyway, because we have a stub
42
    # nvrtc library which we load canonically anyway
43
    "-DUSE_DIRECT_NVRTC",
44
    "-DUSE_RUY_QMATMUL",
45
] + select({
46
    # XNNPACK depends on an updated version of pthreadpool interface, whose implementation
47
    # includes <pthread.h> - a header not available on Windows.
48
    "DEFAULT": ["-DUSE_XNNPACK"],
49
    "ovr_config//os:windows": [],
50
}) + (["-O1"] if native.read_config("fbcode", "build_mode_test_label", "") == "dev-nosan" else [])
51

52
compiler_specific_flags = {
53
    "clang": [
54
        "-Wno-absolute-value",
55
        "-Wno-pass-failed",
56
        "-Wno-braced-scalar-init",
57
    ],
58
    "gcc": [
59
        "-Wno-error=array-bounds",
60
    ],
61
}
62

63
def get_cpu_parallel_backend_flags():
64
    parallel_backend = native.read_config("pytorch", "parallel_backend", "openmp")
65
    defs = []
66
    if parallel_backend == "openmp":
67
        defs.append("-DAT_PARALLEL_OPENMP_FBCODE=1")
68
    elif parallel_backend == "tbb":
69
        defs.append("-DAT_PARALLEL_NATIVE_TBB_FBCODE=1")
70
    elif parallel_backend == "native":
71
        defs.append("-DAT_PARALLEL_NATIVE_FBCODE=1")
72
    else:
73
        fail("Unsupported parallel backend: " + parallel_backend)
74
    if native.read_config("pytorch", "exp_single_thread_pool", "0") == "1":
75
        defs.append("-DAT_EXPERIMENTAL_SINGLE_THREAD_POOL=1")
76
    mkl_ver = native.read_config("fbcode", "mkl_lp64", "mkl_lp64_omp")
77
    if mkl_ver == "mkl_lp64_seq":
78
        defs.append("-DATEN_MKL_SEQUENTIAL_FBCODE=1")
79
    return defs
80

81
def is_cpu_static_dispatch_build():
82
    mode = native.read_config("fbcode", "caffe2_static_dispatch_mode", "none")
83
    return mode == "cpu"
84

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

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

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

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