[package] name = "comet-rs" version = "0.1.1-rc3" authors = ["Ryan D. Friese ", "Gokcen Kestor "] edition = "2021" description = "Rust eDSL for COMET: domain specific COMpiler for Extreme Targets" readme = "README.md" repository = "https://github.com/pnnl/COMET/tree/master/frontends/rust/comet-rs" homepage = "https://github.com/pnnl/COMET" license-file = "LICENSE" keywords = ["heterogeneous", "mlir", "compiler", "dsl", "COMET"] categories = ["compilers","hardware-support","science"] # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] num-traits = "0.2" comet-rs-impl = {version = "0.1.1-rc", path="impl" } rand = "0.8.0" libloading = "0.7" inventory = "0.2" ctor = "0.1.22" [dev-dependencies] assert_cmd = "2.0.4" [lib] name="comet_rs" path="src/lib.rs" doctest = false [features] comet_errors_as_warnings=["comet-rs-impl/comet_errors_as_warnings"] ##---------------------------- ops examples -------------------------------## [[example]] name="eltwise_coo_dense_coo" path="tests/ops/eltwise_coo_dense_coo.rs" [[example]] name="eltwise_csf_dense_csf" path="tests/ops/eltwise_csf_dense_csf.rs" [[example]] name="eltwise_csf_dense_dense" path="tests/ops/eltwise_csf_dense_dense.rs" [[example]] name="eltwise_csr_dense_csr" path="tests/ops/eltwise_csr_dense_csr.rs" [[example]] name="eltwise_csr_dense_dense" path="tests/ops/eltwise_csr_dense_dense.rs" [[example]] name="eltwise_dcsr_dense_dcsr" path="tests/ops/eltwise_dcsr_dense_dcsr.rs" [[example]] name="eltwise_dcsr_dense_dense" path="tests/ops/eltwise_dcsr_dense_dense.rs" [[example]] name="eltwise_dense_4d_tensors" path="tests/ops/eltwise_dense_4d_tensors.rs" [[example]] name="eltwise_dense_csf_dense" path="tests/ops/eltwise_dense_csf_dense.rs" [[example]] name="eltwise_dense_csr_dense" path="tests/ops/eltwise_dense_csr_dense.rs" [[example]] name="eltwise_dense_dense_dense" path="tests/ops/eltwise_dense_dense_dense.rs" [[example]] name="mult_dense_4d_tensors" path="tests/ops/mult_dense_4d_tensors.rs" [[example]] name="mult_dense_ij-ikj-kj" path="tests/ops/mult_dense_ij-ikj-kj.rs" [[example]] name="mult_dense_matrix_coo" path="tests/ops/mult_dense_matrix_coo.rs" [[example]] name="mult_dense_matrix_csr" path="tests/ops/mult_dense_matrix_csr.rs" [[example]] name="mult_dense_matrix_dcsr" path="tests/ops/mult_dense_matrix_dcsr.rs" [[example]] name="mult_dense_matrix" path="tests/ops/mult_dense_matrix.rs" [[example]] name="mult_dense_matrix_vector" path="tests/ops/mult_dense_matrix_vector.rs" [[example]] name="mult_dense_vector_coo" path="tests/ops/mult_dense_vector_coo.rs" [[example]] name="mult_dense_vector_csr" path="tests/ops/mult_dense_vector_csr.rs" [[example]] name="mult_dense_vector_dcsr" path="tests/ops/mult_dense_vector_dcsr.rs" [[example]] name="multi_function" path="tests/ops/multi_function.rs" #[[example]] #name="multi_mult_dense_matrix" #path="tests/ops/multi_mult_dense_matrix.rs" [[example]] name="mult_mixed_i-i-ij" path="tests/ops/mult_mixed_i-i-ij.rs" [[example]] name="mult_spgemm_csr_csr_csr" path="tests/ops/mult_spgemm_csr_csr_csr.rs" [[example]] name="mult_spmm_coo_dense" path="tests/ops/mult_spmm_coo_dense.rs" [[example]] name="mult_spmm_csr_dense" path="tests/ops/mult_spmm_csr_dense.rs" [[example]] name="mult_spmm_dcsr_dense" path="tests/ops/mult_spmm_dcsr_dense.rs" [[example]] name="mult_spmv_coo_dense" path="tests/ops/mult_spmv_coo_dense.rs" [[example]] name="mult_spmv_csr_dense" path="tests/ops/mult_spmv_csr_dense.rs" [[example]] name="mult_spmv_dcsr_dense" path="tests/ops/mult_spmv_dcsr_dense.rs" #[[example]] #name="mult_ttm_csf_mode1" #path="tests/ops/mult_ttm_csf_mode1.rs" #[[example]] #name="mult_ttm_csf_mode2" #path="tests/ops/mult_ttm_csf_mode2.rs" #[[example]] #name="mult_ttm_csf_mode3" #path="tests/ops/mult_ttm_csf_mode3.rs" #[[example]] #name="mult_ttm_mg_mode1" #path="tests/ops/mult_ttm_mg_mode1.rs" #[[example]] #name="mult_ttm_mg_mode2" #path="tests/ops/mult_ttm_mg_mode2.rs" #[[example]] #name="mult_ttm_mg_mode3" #path="tests/ops/mult_ttm_mg_mode3.rs" #[[example]] #name="mult_ttv_csf_mode1" #path="tests/ops/mult_ttv_csf_mode1.rs" #[[example]] #name="mult_ttv_csf_mode2" #path="tests/ops/mult_ttv_csf_mode2.rs" #[[example]] #name="mult_ttv_csf_mode3" #path="tests/ops/mult_ttv_csf_mode3.rs" #[[example]] #name="mult_ttv_mg_mode1" #path="tests/ops/mult_ttv_mg_mode1.rs" #[[example]] #name="mult_ttv_mg_mode2" #path="tests/ops/mult_ttv_mg_mode2.rs" #[[example]] #name="mult_ttv_mg_mode3" #path="tests/ops/mult_ttv_mg_mode3.rs" [[example]] name="sum_coo" path="tests/ops/sum_coo.rs" [[example]] name="sum_csf" path="tests/ops/sum_csf.rs" [[example]] name="sum_csr" path="tests/ops/sum_csr.rs" [[example]] name="sum_dense_matrix" path="tests/ops/sum_dense_matrix.rs" [[example]] name="sum_dense_tensor" path="tests/ops/sum_dense_tensor.rs" [[example]] name="transpose_coo_matrix" path="tests/ops/transpose_coo_matrix.rs" [[example]] name="transpose_coo_tensor" path="tests/ops/transpose_coo_tensor.rs" [[example]] name="transpose_csf_tensor" path="tests/ops/transpose_csf_tensor.rs" [[example]] name="transpose_csr_matrix" path="tests/ops/transpose_csr_matrix.rs" [[example]] name="transpose_dense_matrix" path="tests/ops/transpose_dense_matrix.rs" [[example]] name="transpose_dense_tensor" path="tests/ops/transpose_dense_tensor.rs" [[example]] name="utility_get_time" path="tests/ops/utility_get_time.rs" [[example]] name="utility_print_coo_multi" path="tests/ops/utility_print_coo_multi.rs" [[example]] name="utility_print_coo" path="tests/ops/utility_print_coo.rs" [[example]] name="utility_print_csf_multi" path="tests/ops/utility_print_csf_multi.rs" [[example]] name="utility_print_csr_multi" path="tests/ops/utility_print_csr_multi.rs" [[example]] name="utility_print_csr" path="tests/ops/utility_print_csr.rs" [[example]] name="utility_print_dense" path="tests/ops/utility_print_dense.rs" #------------------------ Semiring tests --------------------------# [[example]] name="eltwise_monoid_min_dense_dense_dense" path="tests/semiring/eltwise_monoid_min_dense_dense_dense.rs" [[example]] name="eltwise_monoid_plus_coo_dense_coo" path="tests/semiring/eltwise_monoid_plus_coo_dense_coo.rs" [[example]] name="eltwise_monoid_plus_dense_dense_dense" path="tests/semiring/eltwise_monoid_plus_dense_dense_dense.rs" [[example]] name="eltwise_monoid_times_coo_dense_coo" path="tests/semiring/eltwise_monoid_times_coo_dense_coo.rs" [[example]] name="eltwise_monoid_times_dense_4d_tensors" path="tests/semiring/eltwise_monoid_times_dense_4d_tensors.rs" [[example]] name="eltwise_monoid_times_dense_dense_dense" path="tests/semiring/eltwise_monoid_times_dense_dense_dense.rs" [[example]] name="mm_semiring_anypair_csr_csr_csr" path="tests/semiring/mm_semiring_anypair_csr_csr_csr.rs" [[example]] name="mm_semiring_minfirst_csr_csr_csr" path="tests/semiring/mm_semiring_minfirst_csr_csr_csr.rs" [[example]] name="mm_semiring_minplus_csr_csr_csr" path="tests/semiring/mm_semiring_minplus_csr_csr_csr.rs" [[example]] name="mm_semiring_minsecond_csr_csr_csr" path="tests/semiring/mm_semiring_minsecond_csr_csr_csr.rs" [[example]] name="mm_semiring_plusfirst_csr_csr_csr" path="tests/semiring/mm_semiring_plusfirst_csr_csr_csr.rs" [[example]] name="mm_semiring_pluspair_csr_csr_csr" path="tests/semiring/mm_semiring_pluspair_csr_csr_csr.rs" [[example]] name="mm_semiring_plussecond_csr_csr_csr" path="tests/semiring/mm_semiring_plussecond_csr_csr_csr.rs" [[example]] name="mm_semiring_plustimes_coo_dense_dense" path="tests/semiring/mm_semiring_plustimes_coo_dense_dense.rs" [[example]] name="mm_semiring_plustimes_csr_csr_csr" path="tests/semiring/mm_semiring_plustimes_csr_csr_csr.rs" [[example]] name="mm_semiring_plustimes_csr_dense_dense" path="tests/semiring/mm_semiring_plustimes_csr_dense_dense.rs" [[example]] name="mm_semiring_plustimes_dcsr_dense_dense" path="tests/semiring/mm_semiring_plustimes_dcsr_dense_dense.rs" [[example]] name="mm_semiring_plustimes_dense_4d_tensors" path="tests/semiring/mm_semiring_plustimes_dense_4d_tensors.rs" [[example]] name="mm_semiring_plustimes_dense_coo_dense" path="tests/semiring/mm_semiring_plustimes_dense_coo_dense.rs" [[example]] name="mm_semiring_plustimes_dense_csr_dense" path="tests/semiring/mm_semiring_plustimes_dense_csr_dense.rs" [[example]] name="mm_semiring_plustimes_dense_dcsr_dense" path="tests/semiring/mm_semiring_plustimes_dense_dcsr_dense.rs" [[example]] name="mm_semiring_plustimes_dense_dense_dense" path="tests/semiring/mm_semiring_plustimes_dense_dense_dense.rs" [[example]] name="mv_semiring_plustimes_coo_dense_dense" path="tests/semiring/mv_semiring_plustimes_coo_dense_dense.rs" [[example]] name="mv_semiring_plustimes_csr_dense_dense" path="tests/semiring/mv_semiring_plustimes_csr_dense_dense.rs" [[example]] name="mv_semiring_plustimes_dcsr_dense_dense" path="tests/semiring/mv_semiring_plustimes_dcsr_dense_dense.rs" [[example]] name="mv_semiring_plustimes_dense_coo_dense" path="tests/semiring/mv_semiring_plustimes_dense_coo_dense.rs" [[example]] name="mv_semiring_plustimes_dense_csr_dense" path="tests/semiring/mv_semiring_plustimes_dense_csr_dense.rs" [[example]] name="mv_semiring_plustimes_dense_dcsr_dense" path="tests/semiring/mv_semiring_plustimes_dense_dcsr_dense.rs" [[example]] name="mv_semiring_plustimes_dense_dense_dense" path="tests/semiring/mv_semiring_plustimes_dense_dense_dense.rs" #--------------------- kernel tests ---------------------------# [[example]] name="ccsd_t1_21_loops" path="tests/kernels/ccsd_t1_21_loops.rs" [[example]] name="ccsd_t1_3_loops" path="tests/kernels/ccsd_t1_3_loops.rs" [[example]] name="ccsd_t1_4_loops" path="tests/kernels/ccsd_t1_4_loops.rs" #----------------------opts tests-------------------------------# [[example]] name="ccsd_t1_21_ttgt_all_opts" path="tests/opts/ccsd_t1_21_ttgt_all_opts.rs" [[example]] name="ccsd_t1_21_ttgt" path="tests/opts/ccsd_t1_21_ttgt.rs" [[example]] name="ccsd_t1_21_ttgt_tiling" path="tests/opts/ccsd_t1_21_ttgt_tiling.rs" [[example]] name="ccsd_t1_3_ttgt" path="tests/opts/ccsd_t1_3_ttgt.rs" [[example]] name="ccsd_t1_4_ttgt_bestperm" path="tests/opts/ccsd_t1_4_ttgt_bestperm.rs" [[example]] name="ccsd_t1_4_ttgt" path="tests/opts/ccsd_t1_4_ttgt.rs" [[example]] name="opt_dense_transpose" path="tests/opts/opt_dense_transpose.rs" [[example]] name="spgemm_w_compressed_workspace" path="tests/opts/spgemm_w_compressed_workspace.rs" #---------------------------Chain Ops------------------------------------------# [[example]] name="dtranspose_eltwise_dense_dense" path="tests/chain_ops/dtranspose_eltwise_dense_dense.rs" [[example]] name="dtranspose_mult_dense_dense" path="tests/chain_ops/dtranspose_mult_dense_dense.rs" [[example]] name="sp_transpose_csr_spmm_csr_dense" path="tests/chain_ops/sp_transpose_csr_spmm_csr_dense.rs" [[example]] name="sp_transpose_csr_eltwise_csr_dense" path="tests/chain_ops/sp_transpose_csr_eltwise_csr_dense.rs"