Skip to content
Open
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
6 changes: 5 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,16 @@

- Added `cons` counterparts to `Vector::getData` methods.

- Made Vector::copyDataTo able to copy from device to host and vice versa
- Made Vector::copyToExternal able to copy from device to host and vice versa.

- Added `diagSolve`, `max`, and `abs` vector operations.

- Improved coding guidelines for developers on floating point conventions.

- Removed unnecessary device synchronization.

- Changed variable and function names to be more explanatory.

## Changes to Re::Solve in release 0.99.2

### Major Features
Expand Down
7 changes: 0 additions & 7 deletions resolve/GramSchmidt.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -187,26 +187,21 @@ namespace ReSolve
vector_handler_->gemv('T', i + 1, ONE, ZERO, V, vec_v_, vec_Hcolumn_, memspace_);
// V(:,i+1) = V(:, i+1) - V(:,1:i)*Hcol
vector_handler_->gemv('N', i + 1, ONE, MINUS_ONE, V, vec_Hcolumn_, vec_v_, memspace_);
mem_.deviceSynchronize();

// copy H_col to aux, we will need it later
vec_Hcolumn_->setDataUpdated(memspace_);
vec_Hcolumn_->resize(i + 1);
vec_Hcolumn_->copyToExternal(h_aux_, 0, memory::HOST, memory::HOST);
mem_.deviceSynchronize();

// Hcol = V(:,1:i)^T*V(:,i+1);
vector_handler_->gemv('T', i + 1, ONE, ZERO, V, vec_v_, vec_Hcolumn_, memspace_);
mem_.deviceSynchronize();

// V(:,i+1) = V(:, i+1) - V(:,1:i)*Hcol
vector_handler_->gemv('N', i + 1, ONE, MINUS_ONE, V, vec_Hcolumn_, vec_v_, memspace_);
mem_.deviceSynchronize();

// copy H_col to H
vec_Hcolumn_->setDataUpdated(memspace_);
vec_Hcolumn_->copyToExternal(&H[idxmap(i, 0, num_vecs_ + 1)], 0, memory::HOST, memory::HOST);
mem_.deviceSynchronize();

// add both pieces together (unstable otherwise, careful here!!)
t = 0.0;
Expand Down Expand Up @@ -381,13 +376,11 @@ namespace ReSolve
vector_handler_->gemv('T', i + 1, ONE, ZERO, V, vec_v_, vec_Hcolumn_, memspace_);
// V(:,i+1) = V(:, i+1) - V(:,1:i)*Hcol
vector_handler_->gemv('N', i + 1, ONE, MINUS_ONE, V, vec_Hcolumn_, vec_v_, memspace_);
mem_.deviceSynchronize();

// copy H_col to H
vec_Hcolumn_->setDataUpdated(memspace_);
vec_Hcolumn_->resize(i + 1);
vec_Hcolumn_->copyToExternal(&H[idxmap(i, 0, num_vecs_ + 1)], 0, memory::HOST, memory::HOST);
mem_.deviceSynchronize();

t = vector_handler_->dot(vec_v_, vec_v_, memspace_);
// set the last entry in Hessenberg matrix
Expand Down
1 change: 0 additions & 1 deletion resolve/GramSchmidt.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,6 @@ namespace ReSolve
vector_type* vec_w_{nullptr}; // aux variable
vector_type* vec_x_{nullptr}; // aux variable

MemoryHandler mem_; ///< Device memory manager object
memory::MemorySpace memspace_;
};

Expand Down
Loading