Skip to content
Draft
Show file tree
Hide file tree
Changes from 18 commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
f16d4d6
feat: add bitset and frontier classes with atomic operations and tests
antonio-decaro Jul 1, 2025
3d19912
feat: enhance frontier class with additional operations and tests; re…
antonio-decaro Jul 7, 2025
52d1098
feat: enhance frontier class with additional methods and tests for ch…
antonio-decaro Jul 7, 2025
df75bdf
insert compunte active kernel
antonio-decaro Jul 8, 2025
6dbbc35
add compute active frontier operation
antonio-decaro Jul 9, 2025
98bdf4f
bug fix
antonio-decaro Jul 16, 2025
246466c
refactor: rename clear and gas methods to unset and atomic_unset for …
antonio-decaro Jul 16, 2025
bb4d6a4
feat: add advance operation tests for frontier class; include device …
antonio-decaro Jul 17, 2025
66008a3
fixed advance operator
antonio-decaro Jul 23, 2025
d7f39ff
implemented async advance
antonio-decaro Jul 23, 2025
542022a
add documentation for frontier
antonio-decaro Jul 23, 2025
3bec274
Refactor frontier implementation and add tests
antonio-decaro Jul 25, 2025
7a8d80b
add performance tests for bfs
antonio-decaro Jul 28, 2025
f12297f
Refactor advance function to remove expected_size parameter and optim…
antonio-decaro Aug 27, 2025
aa997e1
moved bitset to frontier folder
antonio-decaro Aug 27, 2025
c476c4b
applied clang-format
antonio-decaro Aug 27, 2025
12393aa
added trailing new line to source files to complie with the CI format…
antonio-decaro Sep 1, 2025
17e191d
update headers to comply with the oneDAL naming style
antonio-decaro Sep 3, 2025
08944cc
primitives/frontier: remove unused dependencies from BUILD
antonio-decaro Sep 3, 2025
4632056
primitives/frontier: small code cleanup in advance.hpp (comment remov…
antonio-decaro Sep 3, 2025
e0a9060
primitives/frontier: remove unused includes and stray blank lines in …
antonio-decaro Sep 3, 2025
df5e61c
Remove perf_tests target from frontier BUILD
antonio-decaro Sep 19, 2025
e151ade
Refactor frontier context and bitmap kernel: rename Context/ContextSt…
antonio-decaro Sep 19, 2025
de6f360
Remove performance testing scaffolding from frontier BFS test and ren…
antonio-decaro Sep 19, 2025
8345021
Enhance code readability by adding comments and using const for varia…
antonio-decaro Sep 19, 2025
70cdd25
Add copyright notices to header files in the frontier module
antonio-decaro Sep 22, 2025
8368266
Refactor frontier test files: change vector to set for frontier repre…
antonio-decaro Sep 22, 2025
60edb06
Refactor compute_next_frontier to use vector<bool> instead of set<uin…
antonio-decaro Sep 22, 2025
b453d1b
tests(frontier): add shared test utilities and wire includes; expose …
antonio-decaro Sep 22, 2025
f672caf
tests(frontier): switch tests to randomized graph generation and refi…
antonio-decaro Sep 22, 2025
ab3270e
applied clang-format to the new files
antonio-decaro Sep 22, 2025
60794e8
add trailing new line to comply with format checker
antonio-decaro Sep 22, 2025
edecb10
Update copyright notices
antonio-decaro Oct 15, 2025
c5f33b9
update copyright notice and license information in frontier.hpp
antonio-decaro Oct 15, 2025
1b95ff1
frontier: refactor advance.hpp — use fixed-width integers and simplif…
antonio-decaro Oct 15, 2025
7e3ecb2
frontier: use std::uint64_t for sizes in bitset, frontier and frontie…
antonio-decaro Oct 15, 2025
ebd7374
graph: use std::uint64_t for number of nodes in csr_graph_view
antonio-decaro Oct 15, 2025
6e03b2b
tests: adapt frontier and BFS tests to use std::uint64_t for counts a…
antonio-decaro Oct 15, 2025
3e6a821
frontier: add element count to bitset constructor and store size
antonio-decaro Oct 15, 2025
cc4943e
frontier: propagate sizes and add docs and swap helper
antonio-decaro Oct 15, 2025
66e6f9a
frontier: remove unnecessary bitset include from graph header
antonio-decaro Oct 15, 2025
7043278
frontier/advance: rename kernel, tighten types, and polish docs/forma…
antonio-decaro Oct 15, 2025
68f76fb
refactor: improve bitset layer size calculation for frontier initiali…
antonio-decaro Oct 15, 2025
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
5 changes: 5 additions & 0 deletions cpp/oneapi/dal/backend/common.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -523,6 +523,11 @@ inline std::int64_t device_max_sg_size(const sycl::queue& q) {
return dal::detail::integral_cast<std::int64_t>(*result_iter);
}

inline std::int64_t device_max_sg_count(const sycl::queue& q) {
const auto res = q.get_device().template get_info<sycl::info::device::max_num_sub_groups>();
return dal::detail::integral_cast<std::int64_t>(res);
}

inline std::int64_t propose_wg_size(const sycl::queue& q) {
// TODO: a temporary solution that limits work item count used on the device.
// Needs to change to more smart logic in the future.
Expand Down
2 changes: 2 additions & 0 deletions cpp/oneapi/dal/backend/primitives/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ dal_collect_modules(
"lapack",
"optimizers",
"objective_function",
"frontier",
"placement",
"reduction",
"regression",
Expand Down Expand Up @@ -88,6 +89,7 @@ dal_collect_test_suites(
"lapack",
"optimizers",
"objective_function",
"frontier",
"placement",
"reduction",
"regression",
Expand Down
3 changes: 3 additions & 0 deletions cpp/oneapi/dal/backend/primitives/frontier.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#include "oneapi/dal/backend/primitives/frontier/frontier.hpp"
#include "oneapi/dal/backend/primitives/frontier/advance.hpp"
#include "oneapi/dal/backend/primitives/frontier/graph.hpp"
44 changes: 44 additions & 0 deletions cpp/oneapi/dal/backend/primitives/frontier/BUILD
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
package(default_visibility = ["//visibility:public"])
load("@onedal//dev/bazel:dal.bzl",
"dal_module",
"dal_test_suite",
)

dal_module (
name = "frontier",
auto = True,
dal_deps = [
"@onedal//cpp/oneapi/dal/backend/primitives:common",
"@onedal//cpp/oneapi/dal/backend/primitives:blas",
"@onedal//cpp/oneapi/dal/backend/primitives/optimizers",
"@onedal//cpp/oneapi/dal/backend/primitives:sparse_blas",
],
)

dal_test_suite (
name = "tests",
framework = "catch2",
compile_as = [ "dpc++" ],
private = True,
srcs = glob([
"test/*_dpc.cpp",
], exclude=[
"test/*perf*.cpp",
]),
dal_deps = [
":frontier",
],
)

dal_test_suite(
name = "perf_tests",
framework = "catch2",
compile_as = [ "dpc++" ],
private = True,
srcs = glob([
"test/*perf_dpc.cpp",
]),
dal_deps = [
":frontier",
],
)
Loading
Loading