54 |
|
|
55 |
#pragma omp for private(i,iPtr) schedule(static) |
#pragma omp for private(i,iPtr) schedule(static) |
56 |
for (i=0;i<new_n_ptr;++i) |
for (i=0;i<new_n_ptr;++i) |
57 |
for (iPtr=ptr[i];iPtr<ptr[i+1];++iPtr) index[iPtr]=index_offset_out; |
for (iPtr=ptr[i]-index_offset_out;iPtr<ptr[i+1]-index_offset_out;++iPtr) index[iPtr]=index_offset_out; |
58 |
|
|
59 |
#pragma omp for private(i,j,iPtr,k) schedule(static) |
#pragma omp for private(i,j,iPtr,k) schedule(static) |
60 |
for (i=0;i<pattern->n_ptr;++i) { |
for (i=0;i<pattern->n_ptr;++i) { |
61 |
for (iPtr=pattern->ptr[i]-index_offset_in;iPtr<pattern->ptr[i+1]-index_offset_in;++iPtr) { |
for (iPtr=pattern->ptr[i]-index_offset_in;iPtr<pattern->ptr[i+1]-index_offset_in;++iPtr) { |
62 |
for (k=0;k<row_block_size;++k) { |
for (k=0;k<row_block_size;++k) { |
63 |
for (j=0;j<col_block_size;++j) { |
for (j=0;j<col_block_size;++j) { |
64 |
index[ptr[i*row_block_size+k]-index_offset_out+(iPtr-pattern->ptr[i]-index_offset_in)*col_block_size+j]=(pattern->index[iPtr]-index_offset_in)*col_block_size+j+index_offset_out; |
index[ptr[i*row_block_size+k]-index_offset_out+(iPtr-(pattern->ptr[i]-index_offset_in))*col_block_size+j]=(pattern->index[iPtr]-index_offset_in)*col_block_size+j+index_offset_out; |
65 |
} |
} |
66 |
} |
} |
67 |
} |
} |