Spaces:
Sleeping
Sleeping
| # Vector that always aligns its data to the cache line of the host machine. | |
| licenses(["notice"]) | |
| cc_library( | |
| name = "cache_aligned_vector", | |
| hdrs = [ | |
| "cache_aligned_vector.h", | |
| ], | |
| visibility = [ | |
| "//sparse_matmul:__subpackages__", | |
| ], | |
| deps = [ | |
| ":aligned_malloc", | |
| "//sparse_matmul/numerics:fast_transcendentals", | |
| "//sparse_matmul/numerics:types", | |
| "//sparse_matmul/os:coop_threads", | |
| "@com_google_absl//absl/strings:str_format", | |
| ], | |
| ) | |
| cc_test( | |
| name = "cachealignedvector_test", | |
| size = "small", | |
| srcs = [ | |
| "cachealignedvector_test.cc", | |
| ], | |
| copts = [ | |
| "-DFAST_TRANSCENDENTALS", | |
| "-DSIGMOID_AS_TANH", | |
| ], | |
| deps = [ | |
| ":cache_aligned_vector", | |
| "//sparse_matmul/numerics:test_utils", | |
| "//sparse_matmul/os:coop_threads", | |
| "@com_google_googletest//:gtest_main", | |
| ], | |
| ) | |
| cc_binary( | |
| name = "cachealignedvector_benchmark", | |
| srcs = [ | |
| "cachealignedvector_benchmark.cc", | |
| ], | |
| copts = [ | |
| "-DFAST_TRANSCENDENTALS", | |
| "-DSIGMOID_AS_TANH", | |
| "-DACCURATE_TRANSCENDENTAL_APPROX", | |
| ], | |
| deps = [ | |
| ":cache_aligned_vector", | |
| "@com_github_google_benchmark//:benchmark", | |
| "@com_github_google_benchmark//:benchmark_main", | |
| ], | |
| ) | |
| cc_library( | |
| name = "aligned_malloc", | |
| srcs = ["aligned_malloc.cc"], | |
| hdrs = [ | |
| "aligned_malloc.h", | |
| ], | |
| ) | |