Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 31 additions & 9 deletions dev/bazel/dal.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,8 @@ def dal_test(name, hdrs=[], srcs=[], dal_deps=[], dal_test_deps=[],
extra_deps=[], host_hdrs=[], host_srcs=[], host_deps=[],
dpc_hdrs=[], dpc_srcs=[], dpc_deps=[], compile_as=[ "c++", "dpc++" ],
framework="catch2", data=[], tags=[], private=False,
mpi=False, ccl=False, mpi_ranks=0, args=[], **kwargs):
mpi=False, ccl=False, mpi_ranks=0, args=[],
use_onedal_release_libs=True, **kwargs):
# TODO: Check `compile_as` parameter
# TODO: Refactor this rule once decision on the tests structure is made
if not framework in ["catch2", "none"]:
Expand All @@ -179,7 +180,7 @@ def dal_test(name, hdrs=[], srcs=[], dal_deps=[], dal_test_deps=[],
compile_as = compile_as,
dal_deps = (
dal_test_deps +
_test_link_mode_deps(dal_deps)
_test_link_mode_deps(dal_deps, use_onedal_release_libs)
) + ([
"@onedal//cpp/oneapi/dal/test/engine:common",
"@onedal//cpp/oneapi/dal/test/engine:catch2_main",
Expand Down Expand Up @@ -289,24 +290,26 @@ def dal_collect_parameters(name, root, modules=[], target="parameters", dal_deps
**kwargs,
)

def dal_example(name, dal_deps=[], **kwargs):
def dal_example(name, dal_deps=[], use_onedal_release_libs=True, is_daal=False, **kwargs):
dal_test(
name = name,
dal_deps = [
"@onedal//cpp/oneapi/dal:core",
"@onedal//cpp/oneapi/dal/io",
] + dal_deps,
] + dal_deps if not is_daal else dal_deps,
use_onedal_release_libs = use_onedal_release_libs,
framework = "none",
**kwargs,
)

def dal_example_suite(name, srcs, **kwargs):
def dal_example_suite(name, srcs, is_daal=False, **kwargs):
suite_deps = []
for src in srcs:
_, alg_name, src_file = src.rsplit('/', 2)
example_name, _ = paths.split_extension(src_file)
dal_example(
name = example_name,
is_daal = is_daal,
srcs = [ src ],
**kwargs,
)
Expand All @@ -316,26 +319,27 @@ def dal_example_suite(name, srcs, **kwargs):
tests = suite_deps,
)

def dal_algo_example_suite(algos, dal_deps=[], **kwargs):
def dal_algo_example_suite(algos, dal_deps=[], is_daal=False, **kwargs):
for algo in algos:
dal_example_suite(
name = algo,
is_daal = is_daal,
srcs = native.glob(["source/{}/*.cpp".format(algo)]),
dal_deps = dal_deps + [
"@onedal//cpp/oneapi/dal/algo:{}".format(algo),
],
**kwargs,
)

def _test_link_mode_deps(dal_deps):
def _test_link_mode_deps(dal_deps, use_onedal_release_libs=True):
return _select({
"@config//:test_link_mode_dev": dal_deps,
"@config//:test_link_mode_release_static": [
"@onedal_release//:onedal_static",
],
] if use_onedal_release_libs else [],
"@config//:test_link_mode_release_dynamic": [
"@onedal_release//:onedal_dynamic",
],
] if use_onedal_release_libs else [],
})

def _test_deps_on_daal():
Expand Down Expand Up @@ -594,3 +598,21 @@ def _expand_select(deps):
else:
expanded += [dep]
return expanded

def daal_example_suite(name, srcs, **kwargs):
dal_example_suite(
name = name,
srcs = srcs,
use_onedal_release_libs = False,
is_daal = True,
**kwargs,
)

def daal_algo_example_suite(algos, dal_deps=[], **kwargs):
dal_algo_example_suite(
algos = algos,
dal_deps = dal_deps,
use_onedal_release_libs = False,
is_daal = True,
**kwargs,
)
12 changes: 12 additions & 0 deletions dev/bazel/deps/onedal.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,23 @@ onedal_repo = repos.prebuilt_libs_repo_rule(

# Dynamic
"lib/intel64/libonedal_core.so",
"lib/intel64/libonedal_core.so.3",
"lib/intel64/libonedal_core.so.3.0",
"lib/intel64/libonedal_thread.so",
"lib/intel64/libonedal_thread.so.3",
"lib/intel64/libonedal_thread.so.3.0",
"lib/intel64/libonedal.so",
"lib/intel64/libonedal.so.3",
"lib/intel64/libonedal.so.3.0",
"lib/intel64/libonedal_dpc.so",
"lib/intel64/libonedal_dpc.so.3",
"lib/intel64/libonedal_dpc.so.3.0",
"lib/intel64/libonedal_parameters.so",
"lib/intel64/libonedal_parameters.so.3",
"lib/intel64/libonedal_parameters.so.3.0",
"lib/intel64/libonedal_parameters_dpc.so",
"lib/intel64/libonedal_parameters_dpc.so.3",
"lib/intel64/libonedal_parameters_dpc.so.3.0",
],
build_template = "@onedal//dev/bazel/deps:onedal.tpl.BUILD",
)
28 changes: 14 additions & 14 deletions dev/bazel/deps/onedal.tpl.BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -59,9 +59,9 @@ cc_library(

cc_library(
name = "core_dynamic",
srcs = [
"lib/intel64/libonedal_core.so",
],
srcs = glob([
"lib/intel64/libonedal_core.so*",
]),
deps = [
":headers",
# TODO: Currently vml_ipp lib depends on TBB, but it shouldn't
Expand All @@ -72,9 +72,9 @@ cc_library(

cc_library(
name = "thread_dynamic",
srcs = [
"lib/intel64/libonedal_thread.so",
],
srcs = glob([
"lib/intel64/libonedal_thread.so*",
]),
deps = [
":headers",
"@tbb//:tbb_binary",
Expand All @@ -84,21 +84,21 @@ cc_library(

cc_library(
name = "onedal_dynamic",
srcs = [
"lib/intel64/libonedal.so",
"lib/intel64/libonedal_parameters.so",
],
srcs = glob([
"lib/intel64/libonedal.so*",
"lib/intel64/libonedal_parameters.so*",
]),
deps = [
":headers",
],
)

cc_library(
name = "onedal_dynamic_dpc",
srcs = [
"lib/intel64/libonedal_dpc.so",
"lib/intel64/libonedal_parameters_dpc.so",
],
srcs = glob([
"lib/intel64/libonedal_dpc.so*",
"lib/intel64/libonedal_parameters_dpc.so*",
]),
deps = [
":headers",
"@mkl//:mkl_dpc",
Expand Down
Loading
Loading