blob: 92be2d41feb741b0c8b369c6ed39fe818d39ff8a [file] [log] [blame]
Austin Schuhd94fb232018-01-28 17:09:21 -08001licenses(["notice"]) # lgpl
2
3cc_library(
4 name = "blasfeo",
5 hdrs = [
6 "include/blasfeo_block_size.h",
7 "include/blasfeo_common.h",
8 "include/blasfeo_d_aux.h",
9 "include/blasfeo_d_kernel.h",
10 "include/blasfeo_s_aux.h",
11 "include/blasfeo_s_kernel.h",
12 "include/blasfeo_target.h",
13 "include/blasfeo_d_blas.h",
14 "include/blasfeo_m_aux.h",
15 "include/blasfeo_s_blas.h",
16 ],
17 includes = [
18 "include",
19 ],
20 srcs = [
21 # ext
22 "auxiliary/d_aux_lib4.c",
23 "auxiliary/avx/kernel_dgecp_lib4.c",
24 "auxiliary/avx/kernel_dgetr_lib4.c",
25 "auxiliary/s_aux_lib8.c",
26 "auxiliary/m_aux_lib48.c",
27 # kernels
28 "kernel/avx/kernel_dgemm_8x4_lib4.S",
29 "kernel/avx/kernel_dgemm_4x4_lib4.S",
30 "kernel/avx/kernel_dgemm_diag_lib4.c",
31 "kernel/avx/kernel_dgemv_12_lib4.S",
32 "kernel/avx/kernel_dgemv_8_lib4.S",
33 "kernel/avx/kernel_dgemv_4_lib4.S",
34 "kernel/avx/kernel_dsymv_6_lib4.S",
35 "kernel/avx/kernel_dgetrf_pivot_4_lib4.c",
36 "kernel/avx/kernel_dgeqrf_4_lib4.c",
37 "kernel/avx/kernel_dgebp_lib4.S",
38 "kernel/avx/kernel_sgemm_16x4_lib8.S",
39 "kernel/avx/kernel_sgemm_8x8_lib8.S",
40 "kernel/avx/kernel_sgemm_8x4_lib8.S",
41 "kernel/avx/kernel_sgecp_lib8.S",
42 "kernel/avx/kernel_sgemm_diag_lib8.c",
43 "kernel/avx/kernel_sgetr_lib8.S",
44 "kernel/avx/kernel_sgead_lib8.S",
45 "kernel/avx/kernel_sgesc_lib8.S",
46 "kernel/avx/kernel_sgemv_8_lib8.S",
47 "kernel/avx/kernel_sgemv_4_lib8.S",
48 # blas
49 "blas/d_blas1_lib4.c",
50 "blas/d_blas2_lib4.c",
51 "blas/d_blas2_diag_lib.c",
52 "blas/d_blas3_lib4.c",
53 "blas/d_blas3_diag_lib4.c",
54 "blas/d_lapack_lib4.c",
55 "blas/s_blas1_lib8.c",
56 "blas/s_blas2_lib8.c",
57 "blas/s_blas2_diag_lib.c",
58 "blas/s_blas3_lib8.c",
59 "blas/s_blas3_diag_lib8.c",
60 "blas/s_lapack_lib8.c",
61 # ext_dep
62 "auxiliary/d_aux_ext_dep_lib.c",
63 "auxiliary/s_aux_ext_dep_lib.c",
64 "auxiliary/v_aux_ext_dep_lib.c",
65 "auxiliary/i_aux_ext_dep_lib.c",
66 ],
67 copts = [
68 "-mavx",
69 "-DTARGET_X64_INTEL_SANDY_BRIDGE",
70 "-DLA_HIGH_PERFORMANCE",
71 "-DOS_LINUX",
72 "-DEXT_DEP",
73 "-Wno-unused-variable",
74 "-Wno-uninitialized",
75 "-Wno-unused-parameter",
76 "-Wno-unused-label",
77 "-Wno-cast-align",
78 ],
79 textual_hdrs = [
80 "blas/x_blas2_diag_lib.c",
81 ],
82 visibility = ["//visibility:public"],
83 restricted_to = ["//tools:k8"],
84)