Skip to content

add bazel support for daal examples #3235

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 20 commits into
base: main
Choose a base branch
from
Draft
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
842 changes: 431 additions & 411 deletions .ci/pipeline/ci.yml

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ services::Status CovarianceCSRBatchKernel<algorithmFPType, method, cpu>::compute
const Hyperparameter * hyperparameter)
{
algorithmFPType nObservations = 0.0;

DAAL_PROFILER_TASK(compute_csr);
const size_t nFeatures = dataTable->getNumberOfColumns();
const size_t nVectors = dataTable->getNumberOfRows();
CSRNumericTableIface * csrDataTable = dynamic_cast<CSRNumericTableIface *>(dataTable);
Expand Down
5 changes: 4 additions & 1 deletion cpp/daal/src/algorithms/covariance/covariance_impl.i
Original file line number Diff line number Diff line change
Expand Up @@ -464,7 +464,7 @@ services::Status updateCSRCrossProductAndSums(size_t nFeatures, size_t nVectors,
if (method != sumCSR)
{
DAAL_OVERFLOW_CHECK_BY_MULTIPLICATION(size_t, nVectors, sizeof(algorithmFPType));

DAAL_PROFILER_TASK(csr_sum_compute);
TArray<algorithmFPType, cpu> onesArray(nVectors);
DAAL_CHECK_MALLOC(onesArray.get());

Expand Down Expand Up @@ -569,6 +569,9 @@ services::Status finalizeCovariance(size_t nFeatures, algorithmFPType nObservati
for (size_t i = 0; i < nFeatures; i++)
{
mean[i] = sums[i] * invNObservations;
std::cout << invNObservations << std::endl;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Was this meant to be left in?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, it will be removed, now just for debug purposes

std::cout << "sums[i]" << sums[i] << std::endl;
std::cout << "mean[i]" << mean[i] << std::endl;
}

if (parameter->outputMatrixType == covariance::correlationMatrix)
Expand Down
6 changes: 6 additions & 0 deletions examples/daal/BUILD
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package(default_visibility = ["//visibility:public"])

filegroup(
name = "data",
srcs = glob(["data/**/*.csv"]),
)
251 changes: 251 additions & 0 deletions examples/daal/cpp/BUILD
Original file line number Diff line number Diff line change
@@ -0,0 +1,251 @@
load("@onedal//dev/bazel:dal.bzl",
"dal_module",
"dal_example_suite",
"dal_algo_example_suite",
)

dal_module(
name = "example_util",
hdrs = glob(["source/utils/*.h"]),
includes = [ "source/utils" ],
)

_TEST_DEPS = [
":example_util", "@opencl//:opencl_binary",
]

_DATA_DEPS = [
"@onedal//examples/daal:data",
]

# dal_example_suite(
# name = "graph",
# compile_as = [ "c++" ],
# srcs = glob(["source/graph/*.cpp"]),
# dal_deps = [
# "@onedal//cpp/oneapi/dal/graph",
# ],
# data = _DATA_DEPS,
# extra_deps = _TEST_DEPS,
# )

# dal_example_suite(
# name = "table",
# compile_as = [ "c++" ],
# srcs = glob(["source/table/*.cpp"]),
# dal_deps = [
# "@onedal//cpp/oneapi/dal/table",
# ],
# data = _DATA_DEPS,
# extra_deps = _TEST_DEPS,
# )

# dal_example_suite(
# name = "kmeans_init",
# compile_as = [ "c++" ],
# srcs = glob(["source/kmeans_init/*.cpp"]),
# dal_deps = [
# "@onedal//cpp/oneapi/dal/algo:kmeans",
# "@onedal//cpp/oneapi/dal/algo:kmeans_init",
# ],
# data = _DATA_DEPS,
# extra_deps = _TEST_DEPS,
# )

# dal_example_suite(
# name = "misc",
# compile_as = [ "c++" ],
# srcs = glob(["source/misc/*.cpp"]),
# dal_deps = [
# "@onedal//cpp/oneapi/dal:io",
# ],
# data = _DATA_DEPS,
# extra_deps = _TEST_DEPS,
# )

#"@onedal//cpp/daal/src/algorithms/dtrees/forest:kernel",
dal_example_suite(
name = "association_rules",
compile_as = [ "c++" ],
srcs = glob(["source/association_rules/*.cpp"]),
dal_deps = [
"@onedal//cpp/daal/src/algorithms/assocrules:kernel",
],
data = _DATA_DEPS,
extra_deps = _TEST_DEPS + [
"@tbb//:tbb",
],
)

dal_example_suite(
name = "boosting",
compile_as = [ "c++" ],
srcs = glob(["source/boosting/*.cpp"]),
dal_deps = [
"@onedal//cpp/daal/src/algorithms/adaboost:kernel",
"@onedal//cpp/daal/src/algorithms/brownboost:kernel",
"@onedal//cpp/daal/src/algorithms/logitboost:kernel",
],
data = _DATA_DEPS,
extra_deps = _TEST_DEPS + [
"@tbb//:tbb",
],
)

dal_example_suite(
name = "cholesky",
compile_as = [ "c++" ],
srcs = glob(["source/cholesky/*.cpp"]),
dal_deps = [
"@onedal//cpp/daal/src/algorithms/cholesky:kernel",
],
data = _DATA_DEPS,
extra_deps = _TEST_DEPS + [
"@tbb//:tbb",
],
)

dal_example_suite(
name = "decision_tree",
compile_as = [ "c++" ],
srcs = glob(["source/decision_tree/*.cpp"]),
dal_deps = [
"@onedal//cpp/daal/src/algorithms/decision_tree:kernel",
],
data = _DATA_DEPS,
extra_deps = _TEST_DEPS + [
"@tbb//:tbb",
],
)

dal_example_suite(
name = "distance",
compile_as = [ "c++" ],
srcs = glob(["source/distance/*.cpp"]),
dal_deps = [
"@onedal//cpp/daal/src/algorithms/cordistance:kernel",
"@onedal//cpp/daal/src/algorithms/cosdistance:kernel",
],
data = _DATA_DEPS,
extra_deps = _TEST_DEPS + [
"@tbb//:tbb",
],
)

dal_example_suite(
name = "distributions",
compile_as = [ "c++" ],
srcs = glob(["source/distributions/*.cpp"]),
dal_deps = [
"@onedal//cpp/daal/src/algorithms/distributions:kernel",
],
data = _DATA_DEPS,
extra_deps = _TEST_DEPS + [
"@tbb//:tbb",
],
)

# dal_example_suite(
# name = "elastic_net",
# compile_as = [ "c++" ],
# srcs = glob(["source/elastic_net/*.cpp"]),
# dal_deps = [
# "@onedal//cpp/daal/src/algorithms/elastic_net:kernel",
# "@onedal//cpp/daal/src/algorithms/optimization_solver:kernel",
# ],
# data = _DATA_DEPS,
# extra_deps = _TEST_DEPS + [
# "@tbb//:tbb",
# ],
# )

# dal_example_suite(
# name = "em",
# compile_as = [ "c++" ],
# srcs = glob(["source/em/*.cpp"]),
# dal_deps = [
# "@onedal//cpp/daal/src/algorithms/em:kernel",
# ],
# data = _DATA_DEPS,
# extra_deps = _TEST_DEPS + [
# "@tbb//:tbb",
# ],
# )

# dal_example_suite(
# name = "enable_thread_pinning",
# compile_as = [ "c++" ],
# srcs = glob(["source/enable_thread_pinning/*.cpp"]),
# dal_deps = [
# "@onedal//cpp/daal/src/algorithms/kmeans:kernel",
# ],
# data = _DATA_DEPS,
# extra_deps = _TEST_DEPS + [
# "@tbb//:tbb",
# ],
# )

# dal_example_suite(
# name = "gradient_boosted_trees",
# compile_as = [ "c++" ],
# srcs = glob(["source/gradient_boosted_trees/*.cpp"]),
# dal_deps = [
# "@onedal//cpp/daal/src/algorithms/dtrees:kernel",
# ],
# data = _DATA_DEPS,
# extra_deps = _TEST_DEPS + [
# "@tbb//:tbb",
# ],
# )

dal_example_suite(
name = "implicit_als",
compile_as = [ "c++" ],
srcs = glob(["source/implicit_als/*.cpp"]),
dal_deps = [
"@onedal//cpp/daal/src/algorithms/implicit_als:kernel",
],
data = _DATA_DEPS,
extra_deps = _TEST_DEPS + [
"@tbb//:tbb",
],
)

dal_example_suite(
name = "k_nearest_neighbors",
compile_as = [ "c++" ],
srcs = glob(["source/k_nearest_neighbors/*.cpp"]),
dal_deps = [
"@onedal//cpp/daal/src/algorithms/k_nearest_neighbors:kernel",
],
data = _DATA_DEPS,
extra_deps = _TEST_DEPS + [
"@tbb//:tbb",
],
)

dal_algo_example_suite(
algos = [
"covariance",
# "datasource",
"dbscan",
"decision_forest",
"kmeans",
# "k_nearest_neighbors",
# "kernel_function",
"linear_regression",
# "louvain",
# "objective_function",
# "pca",
# "polynomial_kernel",
# "rbf_kernel",
# "shortest_paths",
# "sigmoid_kernel",
# "subgraph_isomorphism",
# "svm",
# "triangle_counting",
],
compile_as = [ "c++" ],
data = _DATA_DEPS,
extra_deps = _TEST_DEPS,
)
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@
* <a name="DAAL-EXAMPLE-CPP-ADABOOST_BATCH"></a>
* \example adaboost_dense_batch.cpp
*/
#define DAAL_HIDE_DEPRECATED

#include "daal.h"
#include "service.h"
Expand Down
2 changes: 1 addition & 1 deletion examples/daal/cpp/source/covariance/cor_csr_batch.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ using namespace daal::data_management;
/* Input data set parameters
Input matrix is stored in the compressed sparse row format with one-based indexing
*/
const std::string datasetFileName = "../data/batch/covcormoments_csr.csv";
std::string datasetFileName = "../data/batch/covcormoments_csr.csv";

int main(int argc, char* argv[]) {
checkArguments(argc, argv, 1, &datasetFileName);
Expand Down
8 changes: 4 additions & 4 deletions examples/daal/cpp/source/covariance/cor_csr_distr.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,10 @@ typedef float algorithmFPType; /* Algorithm floating-point type */
/* Input data set parameters */
const size_t nBlocks = 4;

const std::string datasetFileNames[] = { "../data/distributed/covcormoments_csr_1.csv",
"../data/distributed/covcormoments_csr_2.csv",
"../data/distributed/covcormoments_csr_3.csv",
"../data/distributed/covcormoments_csr_4.csv" };
std::string datasetFileNames[] = { "../data/distributed/covcormoments_csr_1.csv",
"../data/distributed/covcormoments_csr_2.csv",
"../data/distributed/covcormoments_csr_3.csv",
"../data/distributed/covcormoments_csr_4.csv" };

covariance::PartialResultPtr partialResult[nBlocks];
covariance::ResultPtr result;
Expand Down
8 changes: 4 additions & 4 deletions examples/daal/cpp/source/covariance/cor_csr_online.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,10 @@ typedef float algorithmFPType; /* Algorithm floating-point type */
/* Input data set parameters */
const size_t nBlocks = 4;

const std::string datasetFileNames[] = { "../data/online/covcormoments_csr_1.csv",
"../data/online/covcormoments_csr_2.csv",
"../data/online/covcormoments_csr_3.csv",
"../data/online/covcormoments_csr_4.csv" };
std::string datasetFileNames[] = { "../data/online/covcormoments_csr_1.csv",
"../data/online/covcormoments_csr_2.csv",
"../data/online/covcormoments_csr_3.csv",
"../data/online/covcormoments_csr_4.csv" };

int main(int argc, char* argv[]) {
checkArguments(argc,
Expand Down
3 changes: 1 addition & 2 deletions examples/daal/cpp/source/covariance/cor_dense_batch.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,10 @@ using namespace daal::algorithms;
using namespace daal::data_management;

/* Input data set parameters */
const std::string datasetFileName = "../data/batch/covcormoments_dense.csv";
std::string datasetFileName = "../data/batch/covcormoments_dense.csv";

int main(int argc, char* argv[]) {
checkArguments(argc, argv, 1, &datasetFileName);

FileDataSource<CSVFeatureManager> dataSource(datasetFileName,
DataSource::doAllocateNumericTable,
DataSource::doDictionaryFromContext);
Expand Down
2 changes: 1 addition & 1 deletion examples/daal/cpp/source/covariance/cor_dense_distr.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ using namespace daal::data_management;
/* Input data set parameters */
const size_t nBlocks = 4;

const std::string datasetFileNames[] = { "../data/distributed/covcormoments_dense_1.csv",
std::string datasetFileNames[] = { "../data/distributed/covcormoments_dense_1.csv",
"../data/distributed/covcormoments_dense_2.csv",
"../data/distributed/covcormoments_dense_3.csv",
"../data/distributed/covcormoments_dense_4.csv" };
Expand Down
2 changes: 1 addition & 1 deletion examples/daal/cpp/source/covariance/cor_dense_online.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ using namespace daal::algorithms;
using namespace daal::data_management;

/* Input data set parameters */
const std::string datasetFileName = "../data/batch/covcormoments_dense.csv";
std::string datasetFileName = "../data/batch/covcormoments_dense.csv";
const size_t nObservations = 50;

int main(int argc, char* argv[]) {
Expand Down
4 changes: 2 additions & 2 deletions examples/daal/cpp/source/covariance/cov_csr_batch.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,11 @@ using namespace daal::data_management;
/* Input data set parameters
Input matrix is stored in the compressed sparse row format with one-based indexing
*/
const std::string datasetFileName = "../data/batch/covcormoments_csr.csv";
std::string datasetFileName = "../data/batch/covcormoments_csr.csv";

int main(int argc, char* argv[]) {
checkArguments(argc, argv, 1, &datasetFileName);

/* Read datasetFileName from a file and create a numeric table to store input data */
CSRNumericTablePtr dataTable(createSparseTable<float>(datasetFileName));

Expand Down
2 changes: 1 addition & 1 deletion examples/daal/cpp/source/covariance/cov_csr_distr.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ typedef float algorithmFPType; /* Algorithm floating-point type */
/* Input data set parameters */
const size_t nBlocks = 4;

const std::string datasetFileNames[] = { "../data/distributed/covcormoments_csr_1.csv",
std::string datasetFileNames[] = { "../data/distributed/covcormoments_csr_1.csv",
"../data/distributed/covcormoments_csr_2.csv",
"../data/distributed/covcormoments_csr_3.csv",
"../data/distributed/covcormoments_csr_4.csv" };
Expand Down
2 changes: 1 addition & 1 deletion examples/daal/cpp/source/covariance/cov_csr_online.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ typedef float algorithmFPType; /* Algorithm floating-point type */
/* Input data set parameters */
const size_t nBlocks = 4;

const std::string datasetFileNames[] = { "../data/online/covcormoments_csr_1.csv",
std::string datasetFileNames[] = { "../data/online/covcormoments_csr_1.csv",
"../data/online/covcormoments_csr_2.csv",
"../data/online/covcormoments_csr_3.csv",
"../data/online/covcormoments_csr_4.csv" };
Expand Down
Loading
Loading