extern crate nalgebra_sparse; use nalgebra_sparse::CsrMatrix; use std::time::{Duration, Instant}; #[cfg(feature = "io")] use nalgebra_sparse::io::load_coo_from_matrix_market_file; fn main() { #[cfg(feature = "io")] { let sparse_input_matrix = load_coo_from_matrix_market_file::("./data/crankseg_1.mtx").unwrap(); let sparse_input_matrix = CsrMatrix::from(&sparse_input_matrix); let spmm_result = &sparse_input_matrix * &sparse_input_matrix; let now = Instant::now(); let spmm_result = &sparse_input_matrix * &sparse_input_matrix; let spmm_time = now.elapsed().as_millis(); println!("SGEMM time was {}", spmm_time); let sum: f64 = spmm_result.triplet_iter().map(|(_, _, v)| v).sum(); println!("sum of product is {}", sum); } #[cfg(not(feature = "io"))] { panic!("Run with IO feature only"); } }