|
monolish
0.16.1
MONOlithic LInear equation Solvers for Highly-parallel architecture
|
vector class More...
#include <monolish_vector.hpp>

Public Member Functions | |
| Float * | begin () |
| returns a begin iterator More... | |
| const Float * | begin () const |
| returns a begin iterator More... | |
| Float * | data () |
| returns a direct pointer to the vector More... | |
| const Float * | data () const |
| returns a direct pointer to the vector More... | |
| void | device_free () const |
| free data on GPU More... | |
| Float * | end () |
| returns a end iterator More... | |
| const Float * | end () const |
| returns a end iterator More... | |
| bool | equal (const vector< Float > &vec, bool compare_cpu_and_device=false) const |
| Comparing matrices (A == mat) More... | |
| bool | equal (const view1D< matrix::Dense< Float >, Float > &vec, bool compare_cpu_and_device=false) const |
| Comparing matrices (A == mat) More... | |
| bool | equal (const view1D< vector< Float >, Float > &vec, bool compare_cpu_and_device=false) const |
| Comparing matrices (A == mat) More... | |
| void | fill (Float value) |
| fill vector elements with a scalar value More... | |
| bool | get_device_mem_stat () const |
| true: sended, false: not send More... | |
| size_t | get_nnz () const |
| get vector size More... | |
| size_t | get_offset () const |
| void | nonfree_recv () |
| recv data from GPU (w/o free) More... | |
| bool | operator!= (const vector< Float > &vec) const |
| Comparing vectors (v != vec) More... | |
| bool | operator!= (const view1D< matrix::Dense< Float >, Float > &vec) const |
| Comparing vectors (v != vec) More... | |
| bool | operator!= (const view1D< vector< Float >, Float > &vec) const |
| Comparing vectors (v != vec) More... | |
| vector< Float > | operator- () |
| Sign inversion. More... | |
| void | operator= (const std::vector< Float > &vec) |
| copy vector from std::vector More... | |
| void | operator= (const vector< Float > &vec) |
| copy vector, It is same as copy ( Copy the memory on CPU and GPU ) More... | |
| void | operator= (const view1D< matrix::Dense< Float >, Float > &vec) |
| copy vector, It is same as copy ( Copy the memory on CPU and GPU ) More... | |
| void | operator= (const view1D< vector< Float >, Float > &vec) |
| copy vector, It is same as copy ( Copy the memory on CPU and GPU ) More... | |
| bool | operator== (const vector< Float > &vec) const |
| Comparing vectors (v == vec) More... | |
| bool | operator== (const view1D< matrix::Dense< Float >, Float > &vec) const |
| Comparing vectors (v == vec) More... | |
| bool | operator== (const view1D< vector< Float >, Float > &vec) const |
| Comparing vectors (v == vec) More... | |
| Float & | operator[] (size_t i) |
| reference to the element at position (v[i]) More... | |
| void | print_all (bool force_cpu=false) const |
| print all elements to standart I/O More... | |
| void | print_all (std::string filename) const |
| print all elements to file More... | |
| void | push_back (Float val) |
| Add a new element at the end of the vector (only CPU) More... | |
| void | recv () |
| recv data from GPU, and free data on GPU More... | |
| void | resize (size_t N) |
| resize vector (only CPU) More... | |
| void | send () const |
| send data to GPU More... | |
| size_t | size () const |
| get vector size More... | |
| vector () | |
| vector (const Float *start, const Float *end) | |
| copy from pointer More... | |
| vector (const size_t N) | |
| allocate size N vector More... | |
| vector (const size_t N, const Float min, const Float max) | |
| create N length rand(min~max) vector More... | |
| vector (const size_t N, const Float min, const Float max, const std::uint32_t seed) | |
| create N length rand(min~max) vector with random seed More... | |
| vector (const size_t N, const Float value) | |
| initialize size N vector, value to fill the container More... | |
| vector (const std::initializer_list< Float > &list) | |
| copy from initializer_list More... | |
| vector (const std::vector< Float > &vec) | |
| copy from std::vector More... | |
| vector (const vector< Float > &vec) | |
| copy from monolish::vector More... | |
| vector (const view1D< matrix::Dense< Float >, Float > &vec) | |
| copy from monolish::view1D from monolish::matrix::Dense More... | |
| vector (const view1D< vector< Float >, Float > &vec) | |
| copy from monolish::view1D from vector More... | |
| ~vector () | |
| destructor of vector, free GPU memory More... | |
Private Attributes | |
| bool | gpu_status = false |
| true: sended, false: not send More... | |
| std::vector< Float > | val |
| size N vector data More... | |
vector class
Definition at line 40 of file monolish_vector.hpp.
|
inline |
Definition at line 53 of file monolish_vector.hpp.
| monolish::vector< Float >::vector | ( | const size_t | N | ) |
allocate size N vector
| N | vector length |
| monolish::vector< Float >::vector | ( | const size_t | N, |
| const Float | value | ||
| ) |
initialize size N vector, value to fill the container
| N | vector length |
| value | fill Float type value to all elements |
| monolish::vector< Float >::vector | ( | const std::vector< Float > & | vec | ) |
copy from std::vector
| vec | input std::vector |
| monolish::vector< Float >::vector | ( | const std::initializer_list< Float > & | list | ) |
copy from initializer_list
| list | input initializer_list |
| monolish::vector< Float >::vector | ( | const vector< Float > & | vec | ) |
copy from monolish::vector
| vec | input monolish::vector |
gpu_status == true; coping data on CPU and GPU respectively| monolish::vector< Float >::vector | ( | const view1D< vector< Float >, Float > & | vec | ) |
copy from monolish::view1D from vector
| vec | input monolish::view1D from vector |
gpu_status == true; coping data on CPU and GPU respectively| monolish::vector< Float >::vector | ( | const view1D< matrix::Dense< Float >, Float > & | vec | ) |
copy from monolish::view1D from monolish::matrix::Dense
| vec | input monolish::view1D from monolish::matrix::Dense |
gpu_status == true; coping data on CPU and GPU respectively| monolish::vector< Float >::vector | ( | const Float * | start, |
| const Float * | end | ||
| ) |
copy from pointer
| start | start pointer |
| end | end pointer |
| monolish::vector< Float >::vector | ( | const size_t | N, |
| const Float | min, | ||
| const Float | max | ||
| ) |
create N length rand(min~max) vector
| N | vector length |
| min | rand min |
| max | rand max |
| monolish::vector< Float >::vector | ( | const size_t | N, |
| const Float | min, | ||
| const Float | max, | ||
| const std::uint32_t | seed | ||
| ) |
create N length rand(min~max) vector with random seed
| N | vector length |
| min | rand min |
| max | rand max |
| seed | random seed |
|
inline |
destructor of vector, free GPU memory
Definition at line 232 of file monolish_vector.hpp.

|
inline |
returns a begin iterator
Definition at line 301 of file monolish_vector.hpp.
|
inline |
returns a begin iterator
Definition at line 293 of file monolish_vector.hpp.
|
inline |
returns a direct pointer to the vector
Definition at line 257 of file monolish_vector.hpp.
|
inline |
returns a direct pointer to the vector
Definition at line 249 of file monolish_vector.hpp.

| void monolish::vector< Float >::device_free | ( | ) | const |
free data on GPU

|
inline |
returns a end iterator
Definition at line 317 of file monolish_vector.hpp.

|
inline |
returns a end iterator
Definition at line 309 of file monolish_vector.hpp.

| bool monolish::vector< Float >::equal | ( | const vector< Float > & | vec, |
| bool | compare_cpu_and_device = false |
||
| ) | const |
Comparing matrices (A == mat)
| vec | vector |
| compare_cpu_and_device | compare data on both CPU and GPU |
| bool monolish::vector< Float >::equal | ( | const view1D< matrix::Dense< Float >, Float > & | vec, |
| bool | compare_cpu_and_device = false |
||
| ) | const |
Comparing matrices (A == mat)
| vec | view1D from monolish::matrix::Dense |
| compare_cpu_and_device | compare data on both CPU and GPU |
| bool monolish::vector< Float >::equal | ( | const view1D< vector< Float >, Float > & | vec, |
| bool | compare_cpu_and_device = false |
||
| ) | const |
Comparing matrices (A == mat)
| vec | view1D from monolish::vector |
| compare_cpu_and_device | compare data on both CPU and GPU |
| void monolish::vector< Float >::fill | ( | Float | value | ) |
fill vector elements with a scalar value
| value | scalar value |
|
inline |
true: sended, false: not send
Definition at line 223 of file monolish_vector.hpp.

|
inline |
get vector size
Definition at line 333 of file monolish_vector.hpp.
|
inline |
Definition at line 238 of file monolish_vector.hpp.
| void monolish::vector< Float >::nonfree_recv | ( | ) |
recv data from GPU (w/o free)
| bool monolish::vector< Float >::operator!= | ( | const vector< Float > & | vec | ) | const |
Comparing vectors (v != vec)
| vec | vector (size N) |
gpu_status == true; compare data on GPU| bool monolish::vector< Float >::operator!= | ( | const view1D< matrix::Dense< Float >, Float > & | vec | ) | const |
Comparing vectors (v != vec)
| vec | vector (size N) |
gpu_status == true; compare data on GPU| bool monolish::vector< Float >::operator!= | ( | const view1D< vector< Float >, Float > & | vec | ) | const |
Comparing vectors (v != vec)
| vec | vector (size N) |
gpu_status == true; compare data on GPU| vector<Float> monolish::vector< Float >::operator- | ( | ) |
Sign inversion.
| void monolish::vector< Float >::operator= | ( | const std::vector< Float > & | vec | ) |
copy vector from std::vector
| vec | source std::vector |
| void monolish::vector< Float >::operator= | ( | const vector< Float > & | vec | ) |
copy vector, It is same as copy ( Copy the memory on CPU and GPU )
| vec | source vector |
gpu_statius == true; coping data on GPU| void monolish::vector< Float >::operator= | ( | const view1D< matrix::Dense< Float >, Float > & | vec | ) |
copy vector, It is same as copy ( Copy the memory on CPU and GPU )
| vec | source view1D from monolish::matrix::Dense |
gpu_statius == true; coping data on GPU| void monolish::vector< Float >::operator= | ( | const view1D< vector< Float >, Float > & | vec | ) |
copy vector, It is same as copy ( Copy the memory on CPU and GPU )
| vec | source view1D from monolish::vector |
gpu_statius == true; coping data on GPU| bool monolish::vector< Float >::operator== | ( | const vector< Float > & | vec | ) | const |
Comparing vectors (v == vec)
| vec | vector (size N) |
gpu_status == true; compare data on GPU| bool monolish::vector< Float >::operator== | ( | const view1D< matrix::Dense< Float >, Float > & | vec | ) | const |
Comparing vectors (v == vec)
| vec | view1D from monolish::matrix::Dense (size N) |
gpu_status == true; compare data on GPU| bool monolish::vector< Float >::operator== | ( | const view1D< vector< Float >, Float > & | vec | ) | const |
Comparing vectors (v == vec)
| vec | view1D from monolish::vector (size N) |
gpu_status == true; compare data on GPU
|
inline |
reference to the element at position (v[i])
| i | Position of an element in the vector |
Definition at line 440 of file monolish_vector.hpp.

| void monolish::vector< Float >::print_all | ( | bool | force_cpu = false | ) | const |
print all elements to standart I/O
| force_cpu | Ignore device status and output CPU data |
| void monolish::vector< Float >::print_all | ( | std::string | filename | ) | const |
print all elements to file
| filename | output filename |
|
inline |
Add a new element at the end of the vector (only CPU)
| val | new element |
Definition at line 280 of file monolish_vector.hpp.

| void monolish::vector< Float >::recv | ( | ) |
recv data from GPU, and free data on GPU
|
inline |
resize vector (only CPU)
| N | vector length |
Definition at line 267 of file monolish_vector.hpp.

| void monolish::vector< Float >::send | ( | ) | const |
send data to GPU
|
inline |
get vector size
Definition at line 325 of file monolish_vector.hpp.

|
mutableprivate |
true: sended, false: not send
Definition at line 50 of file monolish_vector.hpp.
|
private |
size N vector data
Definition at line 45 of file monolish_vector.hpp.