Skip to content

Commit

Permalink
review update
Browse files Browse the repository at this point in the history
rename `rows` to `num_rows` for better readability
  • Loading branch information
upsj committed Nov 20, 2019
1 parent 1f02d20 commit c29277d
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 24 deletions.
24 changes: 12 additions & 12 deletions omp/matrix/csr_kernels.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -212,34 +212,34 @@ void spgemm(std::shared_ptr<const OmpExecutor> exec,
Array<IndexType> &c_row_ptrs_array,
Array<IndexType> &c_col_idxs_array, Array<ValueType> &c_vals_array)
{
auto rows = a->get_size()[0];
auto num_rows = a->get_size()[0];

// first sweep: count nnz for each row
c_row_ptrs_array.resize_and_reset(rows + 1);
c_row_ptrs_array.resize_and_reset(num_rows + 1);
auto c_row_ptrs = c_row_ptrs_array.get_data();

std::unordered_set<IndexType> local_col_idxs;
#pragma omp parallel for schedule(dynamic, 256) firstprivate(local_col_idxs)
for (size_type a_row = 0; a_row < rows; ++a_row) {
for (size_type a_row = 0; a_row < num_rows; ++a_row) {
local_col_idxs.clear();
spgemm_insert_row2(local_col_idxs, a, b, a_row);
c_row_ptrs[a_row + 1] = local_col_idxs.size();
}

// build row pointers: exclusive scan (thus the + 1)
c_row_ptrs[0] = 0;
std::partial_sum(c_row_ptrs + 1, c_row_ptrs + rows + 1, c_row_ptrs + 1);
std::partial_sum(c_row_ptrs + 1, c_row_ptrs + num_rows + 1, c_row_ptrs + 1);

// second sweep: accumulate non-zeros
auto new_nnz = c_row_ptrs[rows];
auto new_nnz = c_row_ptrs[num_rows];
c_col_idxs_array.resize_and_reset(new_nnz);
c_vals_array.resize_and_reset(new_nnz);
auto c_col_idxs = c_col_idxs_array.get_data();
auto c_vals = c_vals_array.get_data();

std::unordered_map<IndexType, ValueType> local_row_nzs;
#pragma omp parallel for schedule(dynamic, 256) firstprivate(local_row_nzs)
for (size_type a_row = 0; a_row < rows; ++a_row) {
for (size_type a_row = 0; a_row < num_rows; ++a_row) {
local_row_nzs.clear();
spgemm_accumulate_row2(local_row_nzs, a, b, one<ValueType>(), a_row);
// store result
Expand All @@ -266,17 +266,17 @@ void advanced_spgemm(std::shared_ptr<const OmpExecutor> exec,
Array<IndexType> &c_col_idxs_array,
Array<ValueType> &c_vals_array)
{
auto rows = a->get_size()[0];
auto num_rows = a->get_size()[0];
auto valpha = alpha->at(0, 0);
auto vbeta = beta->at(0, 0);

// first sweep: count nnz for each row
c_row_ptrs_array.resize_and_reset(rows + 1);
c_row_ptrs_array.resize_and_reset(num_rows + 1);
auto c_row_ptrs = c_row_ptrs_array.get_data();

std::unordered_set<IndexType> local_col_idxs;
#pragma omp parallel for schedule(dynamic, 256) firstprivate(local_col_idxs)
for (size_type a_row = 0; a_row < rows; ++a_row) {
for (size_type a_row = 0; a_row < num_rows; ++a_row) {
local_col_idxs.clear();
if (vbeta != zero(vbeta)) {
spgemm_insert_row(local_col_idxs, c, a_row);
Expand All @@ -289,18 +289,18 @@ void advanced_spgemm(std::shared_ptr<const OmpExecutor> exec,

// build row pointers: exclusive scan (thus the + 1)
c_row_ptrs[0] = 0;
std::partial_sum(c_row_ptrs + 1, c_row_ptrs + rows + 1, c_row_ptrs + 1);
std::partial_sum(c_row_ptrs + 1, c_row_ptrs + num_rows + 1, c_row_ptrs + 1);

// second sweep: accumulate non-zeros
auto new_nnz = c_row_ptrs[rows];
auto new_nnz = c_row_ptrs[num_rows];
c_col_idxs_array.resize_and_reset(new_nnz);
c_vals_array.resize_and_reset(new_nnz);
auto c_col_idxs = c_col_idxs_array.get_data();
auto c_vals = c_vals_array.get_data();

std::unordered_map<IndexType, ValueType> local_row_nzs;
#pragma omp parallel for schedule(dynamic, 256) firstprivate(local_row_nzs)
for (size_type a_row = 0; a_row < rows; ++a_row) {
for (size_type a_row = 0; a_row < num_rows; ++a_row) {
local_row_nzs.clear();
if (vbeta != zero(vbeta)) {
spgemm_accumulate_row(local_row_nzs, c, vbeta, a_row);
Expand Down
24 changes: 12 additions & 12 deletions reference/matrix/csr_kernels.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -210,32 +210,32 @@ void spgemm(std::shared_ptr<const ReferenceExecutor> exec,
Array<IndexType> &c_row_ptrs_array,
Array<IndexType> &c_col_idxs_array, Array<ValueType> &c_vals_array)
{
auto rows = a->get_size()[0];
auto num_rows = a->get_size()[0];

// first sweep: count nnz for each row
c_row_ptrs_array.resize_and_reset(rows + 1);
c_row_ptrs_array.resize_and_reset(num_rows + 1);
auto c_row_ptrs = c_row_ptrs_array.get_data();

std::unordered_set<IndexType> local_col_idxs;
for (size_type a_row = 0; a_row < rows; ++a_row) {
for (size_type a_row = 0; a_row < num_rows; ++a_row) {
local_col_idxs.clear();
spgemm_insert_row2(local_col_idxs, a, b, a_row);
c_row_ptrs[a_row + 1] = local_col_idxs.size();
}

// build row pointers: exclusive scan (thus the + 1)
c_row_ptrs[0] = 0;
std::partial_sum(c_row_ptrs + 1, c_row_ptrs + rows + 1, c_row_ptrs + 1);
std::partial_sum(c_row_ptrs + 1, c_row_ptrs + num_rows + 1, c_row_ptrs + 1);

// second sweep: accumulate non-zeros
auto new_nnz = c_row_ptrs[rows];
auto new_nnz = c_row_ptrs[num_rows];
c_col_idxs_array.resize_and_reset(new_nnz);
c_vals_array.resize_and_reset(new_nnz);
auto c_col_idxs = c_col_idxs_array.get_data();
auto c_vals = c_vals_array.get_data();

std::unordered_map<IndexType, ValueType> local_row_nzs;
for (size_type a_row = 0; a_row < rows; ++a_row) {
for (size_type a_row = 0; a_row < num_rows; ++a_row) {
local_row_nzs.clear();
spgemm_accumulate_row2(local_row_nzs, a, b, one<ValueType>(), a_row);
// store result
Expand All @@ -262,16 +262,16 @@ void advanced_spgemm(std::shared_ptr<const ReferenceExecutor> exec,
Array<IndexType> &c_col_idxs_array,
Array<ValueType> &c_vals_array)
{
auto rows = a->get_size()[0];
auto num_rows = a->get_size()[0];
auto valpha = alpha->at(0, 0);
auto vbeta = beta->at(0, 0);

// first sweep: count nnz for each row
c_row_ptrs_array.resize_and_reset(rows + 1);
c_row_ptrs_array.resize_and_reset(num_rows + 1);
auto c_row_ptrs = c_row_ptrs_array.get_data();

std::unordered_set<IndexType> local_col_idxs;
for (size_type a_row = 0; a_row < rows; ++a_row) {
for (size_type a_row = 0; a_row < num_rows; ++a_row) {
local_col_idxs.clear();
if (vbeta != zero(vbeta)) {
spgemm_insert_row(local_col_idxs, c, a_row);
Expand All @@ -284,17 +284,17 @@ void advanced_spgemm(std::shared_ptr<const ReferenceExecutor> exec,

// build row pointers: exclusive scan (thus the + 1)
c_row_ptrs[0] = 0;
std::partial_sum(c_row_ptrs + 1, c_row_ptrs + rows + 1, c_row_ptrs + 1);
std::partial_sum(c_row_ptrs + 1, c_row_ptrs + num_rows + 1, c_row_ptrs + 1);

// second sweep: accumulate non-zeros
auto new_nnz = c_row_ptrs[rows];
auto new_nnz = c_row_ptrs[num_rows];
c_col_idxs_array.resize_and_reset(new_nnz);
c_vals_array.resize_and_reset(new_nnz);
auto c_col_idxs = c_col_idxs_array.get_data();
auto c_vals = c_vals_array.get_data();

std::unordered_map<IndexType, ValueType> local_row_nzs;
for (size_type a_row = 0; a_row < rows; ++a_row) {
for (size_type a_row = 0; a_row < num_rows; ++a_row) {
local_row_nzs.clear();
if (vbeta != zero(vbeta)) {
spgemm_accumulate_row(local_row_nzs, c, vbeta, a_row);
Expand Down

0 comments on commit c29277d

Please sign in to comment.