#include <CudaTypes.h>

Public Types | |
| typedef T | value_type |
| typedef size_t | size_type |
Public Member Functions | |
| CudaMatrix () | |
| CudaMatrix (size_t x, size_t y) | |
| CudaMatrix (const CudaMatrix< T > &v) | |
| void | clear () |
| ~CudaMatrix () | |
| size_type | getSizeX () const |
| size_type | getSizeY () const |
| size_type | getPitch () const |
| bool | empty () const |
| void | fastResize (size_type x, size_type y, size_type WARP_SIZE=BSIZE) |
| void | resize (size_type x, size_type y, size_t WARP_SIZE=BSIZE) |
| void | swap (CudaMatrix< T > &v) |
| const void * | deviceRead (int x=0, int y=0) const |
| void * | deviceWrite (int x=0, int y=0) |
| const T * | hostRead (int x=0, int y=0) const |
| T * | hostWrite (int x=0, int y=0) |
| bool | isHostValid () const |
| bool | isDeviceValid () const |
| const T & | operator() (size_type x, size_type y) const |
| T & | operator() (size_type x, size_type y) |
| const T * | operator[] (size_type y) const |
| T * | operator[] (size_type y) |
| const T & | getCached (size_type x, size_type y) const |
Protected Member Functions | |
| void | copyToHost () const |
| void | copyToDevice () const |
| void | checkIndex (size_type x, size_type y) const |
Protected Attributes | |
| size_type | sizeX |
| Current size of the vector. | |
| size_type | sizeY |
| Current size of the vector. | |
| size_type | pitch |
| Row alignment on the GPU. | |
| size_type | hostAllocSize |
| Allocated size. | |
| size_type | deviceAllocSize |
| Allocated size. | |
| void * | devicePointer |
| Pointer to the data on the GPU side. | |
| T * | hostPointer |
| Pointer to the data on the CPU side. | |
| bool | deviceIsValid |
| True if the data on the GPU is currently valid. | |
| bool | hostIsValid |
| True if the data on the CPU is currently valid. | |
Definition at line 452 of file CudaTypes.h.
| typedef size_t sofa::gpu::cuda::CudaMatrix< T >::size_type |
Definition at line 456 of file CudaTypes.h.
| typedef T sofa::gpu::cuda::CudaMatrix< T >::value_type |
Definition at line 455 of file CudaTypes.h.
| sofa::gpu::cuda::CudaMatrix< T >::CudaMatrix | ( | ) | [inline] |
Definition at line 470 of file CudaTypes.h.
| sofa::gpu::cuda::CudaMatrix< T >::CudaMatrix | ( | size_t | x, | |
| size_t | y | |||
| ) | [inline] |
| sofa::gpu::cuda::CudaMatrix< T >::CudaMatrix | ( | const CudaMatrix< T > & | v | ) | [inline] |
Definition at line 479 of file CudaTypes.h.
| sofa::gpu::cuda::CudaMatrix< T >::~CudaMatrix | ( | ) | [inline] |
Definition at line 492 of file CudaTypes.h.
References sofa::gpu::cuda::CudaMatrix< T >::devicePointer, sofa::gpu::cuda::CudaMatrix< T >::hostPointer, mycudaFree(), and mycudaFreeHost().
| void sofa::gpu::cuda::CudaMatrix< T >::checkIndex | ( | size_type | x, | |
| size_type | y | |||
| ) | const [inline, protected] |
Definition at line 644 of file CudaTypes.h.
References sofa::gpu::cuda::CudaMatrix< T >::sizeX, and sofa::gpu::cuda::CudaMatrix< T >::sizeY.
Referenced by sofa::gpu::cuda::CudaMatrix< T >::getCached(), sofa::gpu::cuda::CudaMatrix< T >::operator()(), and sofa::gpu::cuda::CudaMatrix< T >::operator[]().
| void sofa::gpu::cuda::CudaMatrix< T >::clear | ( | ) | [inline] |
Definition at line 484 of file CudaTypes.h.
References sofa::gpu::cuda::CudaMatrix< T >::deviceIsValid, sofa::gpu::cuda::CudaMatrix< T >::hostIsValid, sofa::gpu::cuda::CudaMatrix< T >::pitch, and sofa::gpu::cuda::CudaMatrix< T >::sizeY.
| void sofa::gpu::cuda::CudaMatrix< T >::copyToDevice | ( | ) | const [inline, protected] |
Definition at line 629 of file CudaTypes.h.
References sofa::core::objectmodel::Base::decodeTypeName(), sofa::gpu::cuda::CudaMatrix< T >::deviceIsValid, sofa::gpu::cuda::CudaMatrix< T >::devicePointer, sofa::gpu::cuda::CudaMatrix< T >::hostPointer, LOG_TRACE, mycudaMemcpyHostToDevice2D(), sofa::gpu::cuda::mycudaVerboseLevel, sofa::gpu::cuda::CudaMatrix< T >::pitch, sofa::gpu::cuda::CudaMatrix< T >::sizeX, and sofa::gpu::cuda::CudaMatrix< T >::sizeY.
Referenced by sofa::gpu::cuda::CudaMatrix< T >::deviceRead(), and sofa::gpu::cuda::CudaMatrix< T >::deviceWrite().
| void sofa::gpu::cuda::CudaMatrix< T >::copyToHost | ( | ) | const [inline, protected] |
Definition at line 620 of file CudaTypes.h.
References sofa::core::objectmodel::Base::decodeTypeName(), sofa::gpu::cuda::CudaMatrix< T >::devicePointer, sofa::gpu::cuda::CudaMatrix< T >::hostIsValid, sofa::gpu::cuda::CudaMatrix< T >::hostPointer, LOG_TRACE, mycudaMemcpyDeviceToHost2D(), sofa::gpu::cuda::mycudaVerboseLevel, sofa::gpu::cuda::CudaMatrix< T >::pitch, sofa::gpu::cuda::CudaMatrix< T >::sizeX, and sofa::gpu::cuda::CudaMatrix< T >::sizeY.
Referenced by sofa::gpu::cuda::CudaMatrix< T >::hostRead(), and sofa::gpu::cuda::CudaMatrix< T >::hostWrite().
| const void* sofa::gpu::cuda::CudaMatrix< T >::deviceRead | ( | int | x = 0, |
|
| int | y = 0 | |||
| ) | const [inline] |
Definition at line 564 of file CudaTypes.h.
References sofa::gpu::cuda::CudaMatrix< T >::copyToDevice(), sofa::gpu::cuda::CudaMatrix< T >::devicePointer, and sofa::gpu::cuda::CudaMatrix< T >::pitch.
| void* sofa::gpu::cuda::CudaMatrix< T >::deviceWrite | ( | int | x = 0, |
|
| int | y = 0 | |||
| ) | [inline] |
Definition at line 569 of file CudaTypes.h.
References sofa::gpu::cuda::CudaMatrix< T >::copyToDevice(), sofa::gpu::cuda::CudaMatrix< T >::devicePointer, sofa::gpu::cuda::CudaMatrix< T >::hostIsValid, and sofa::gpu::cuda::CudaMatrix< T >::pitch.
| bool sofa::gpu::cuda::CudaMatrix< T >::empty | ( | ) | const [inline] |
Definition at line 508 of file CudaTypes.h.
References sofa::gpu::cuda::CudaMatrix< T >::sizeX, and sofa::gpu::cuda::CudaMatrix< T >::sizeY.
| void sofa::gpu::cuda::CudaMatrix< T >::fastResize | ( | size_type | x, | |
| size_type | y, | |||
| size_type | WARP_SIZE = BSIZE | |||
| ) | [inline] |
Definition at line 512 of file CudaTypes.h.
References sofa::gpu::cuda::CudaMatrix< T >::deviceAllocSize, sofa::gpu::cuda::CudaMatrix< T >::deviceIsValid, sofa::gpu::cuda::CudaMatrix< T >::devicePointer, sofa::gpu::cuda::CudaMatrix< T >::hostAllocSize, sofa::gpu::cuda::CudaMatrix< T >::hostIsValid, sofa::gpu::cuda::CudaMatrix< T >::hostPointer, mycudaFree(), mycudaFreeHost(), mycudaMallocHost(), mycudaMallocPitch(), sofa::gpu::cuda::CudaMatrix< T >::pitch, sofa::gpu::cuda::CudaMatrix< T >::sizeX, and sofa::gpu::cuda::CudaMatrix< T >::sizeY.
Referenced by sofa::gpu::cuda::CudaMatrix< T >::resize().
| const T& sofa::gpu::cuda::CudaMatrix< T >::getCached | ( | size_type | x, | |
| size_type | y | |||
| ) | const [inline] |
Definition at line 614 of file CudaTypes.h.
References sofa::gpu::cuda::CudaMatrix< T >::checkIndex(), sofa::gpu::cuda::CudaMatrix< T >::hostPointer, and sofa::gpu::cuda::CudaMatrix< T >::sizeX.
| size_type sofa::gpu::cuda::CudaMatrix< T >::getPitch | ( | ) | const [inline] |
| size_type sofa::gpu::cuda::CudaMatrix< T >::getSizeX | ( | ) | const [inline] |
| size_type sofa::gpu::cuda::CudaMatrix< T >::getSizeY | ( | ) | const [inline] |
| const T* sofa::gpu::cuda::CudaMatrix< T >::hostRead | ( | int | x = 0, |
|
| int | y = 0 | |||
| ) | const [inline] |
Definition at line 575 of file CudaTypes.h.
References sofa::gpu::cuda::CudaMatrix< T >::copyToHost(), sofa::gpu::cuda::CudaMatrix< T >::hostPointer, and sofa::gpu::cuda::CudaMatrix< T >::sizeX.
Referenced by sofa::gpu::cuda::CudaMatrix< T >::operator()(), and sofa::gpu::cuda::CudaMatrix< T >::operator[]().
| T* sofa::gpu::cuda::CudaMatrix< T >::hostWrite | ( | int | x = 0, |
|
| int | y = 0 | |||
| ) | [inline] |
Definition at line 580 of file CudaTypes.h.
References sofa::gpu::cuda::CudaMatrix< T >::copyToHost(), sofa::gpu::cuda::CudaMatrix< T >::deviceIsValid, sofa::gpu::cuda::CudaMatrix< T >::hostPointer, and sofa::gpu::cuda::CudaMatrix< T >::sizeX.
Referenced by sofa::gpu::cuda::CudaMatrix< T >::operator()(), and sofa::gpu::cuda::CudaMatrix< T >::operator[]().
| bool sofa::gpu::cuda::CudaMatrix< T >::isDeviceValid | ( | ) | const [inline] |
Definition at line 590 of file CudaTypes.h.
References sofa::gpu::cuda::CudaMatrix< T >::deviceIsValid.
| bool sofa::gpu::cuda::CudaMatrix< T >::isHostValid | ( | ) | const [inline] |
Definition at line 586 of file CudaTypes.h.
References sofa::gpu::cuda::CudaMatrix< T >::hostIsValid.
| T& sofa::gpu::cuda::CudaMatrix< T >::operator() | ( | size_type | x, | |
| size_type | y | |||
| ) | [inline] |
Definition at line 599 of file CudaTypes.h.
References sofa::gpu::cuda::CudaMatrix< T >::checkIndex(), and sofa::gpu::cuda::CudaMatrix< T >::hostWrite().
| const T& sofa::gpu::cuda::CudaMatrix< T >::operator() | ( | size_type | x, | |
| size_type | y | |||
| ) | const [inline] |
Definition at line 594 of file CudaTypes.h.
References sofa::gpu::cuda::CudaMatrix< T >::checkIndex(), and sofa::gpu::cuda::CudaMatrix< T >::hostRead().
| T* sofa::gpu::cuda::CudaMatrix< T >::operator[] | ( | size_type | y | ) | [inline] |
Definition at line 609 of file CudaTypes.h.
References sofa::gpu::cuda::CudaMatrix< T >::checkIndex(), and sofa::gpu::cuda::CudaMatrix< T >::hostWrite().
| const T* sofa::gpu::cuda::CudaMatrix< T >::operator[] | ( | size_type | y | ) | const [inline] |
Definition at line 604 of file CudaTypes.h.
References sofa::gpu::cuda::CudaMatrix< T >::checkIndex(), and sofa::gpu::cuda::CudaMatrix< T >::hostRead().
| void sofa::gpu::cuda::CudaMatrix< T >::resize | ( | size_type | x, | |
| size_type | y, | |||
| size_t | WARP_SIZE = BSIZE | |||
| ) | [inline] |
Definition at line 546 of file CudaTypes.h.
References sofa::gpu::cuda::CudaMatrix< T >::fastResize().
Referenced by sofa::gpu::cuda::CudaMatrix< T >::CudaMatrix().
| void sofa::gpu::cuda::CudaMatrix< T >::swap | ( | CudaMatrix< T > & | v | ) | [inline] |
Definition at line 550 of file CudaTypes.h.
References sofa::gpu::cuda::CudaMatrix< T >::deviceAllocSize, sofa::gpu::cuda::CudaMatrix< T >::deviceIsValid, sofa::gpu::cuda::CudaMatrix< T >::devicePointer, sofa::gpu::cuda::CudaMatrix< T >::hostAllocSize, sofa::gpu::cuda::CudaMatrix< T >::hostIsValid, sofa::gpu::cuda::CudaMatrix< T >::hostPointer, sofa::gpu::cuda::CudaMatrix< T >::pitch, sofa::gpu::cuda::CudaMatrix< T >::sizeX, sofa::gpu::cuda::CudaMatrix< T >::sizeY, and VSWAP.
size_type sofa::gpu::cuda::CudaMatrix< T >::deviceAllocSize [protected] |
Allocated size.
Definition at line 463 of file CudaTypes.h.
Referenced by sofa::gpu::cuda::CudaMatrix< T >::fastResize(), and sofa::gpu::cuda::CudaMatrix< T >::swap().
bool sofa::gpu::cuda::CudaMatrix< T >::deviceIsValid [mutable, protected] |
True if the data on the GPU is currently valid.
Definition at line 466 of file CudaTypes.h.
Referenced by sofa::gpu::cuda::CudaMatrix< T >::clear(), sofa::gpu::cuda::CudaMatrix< T >::copyToDevice(), sofa::gpu::cuda::CudaMatrix< T >::fastResize(), sofa::gpu::cuda::CudaMatrix< T >::hostWrite(), sofa::gpu::cuda::CudaMatrix< T >::isDeviceValid(), and sofa::gpu::cuda::CudaMatrix< T >::swap().
void* sofa::gpu::cuda::CudaMatrix< T >::devicePointer [protected] |
Pointer to the data on the GPU side.
Definition at line 464 of file CudaTypes.h.
Referenced by sofa::gpu::cuda::CudaMatrix< T >::copyToDevice(), sofa::gpu::cuda::CudaMatrix< T >::copyToHost(), sofa::gpu::cuda::CudaMatrix< T >::deviceRead(), sofa::gpu::cuda::CudaMatrix< T >::deviceWrite(), sofa::gpu::cuda::CudaMatrix< T >::fastResize(), sofa::gpu::cuda::CudaMatrix< T >::swap(), and sofa::gpu::cuda::CudaMatrix< T >::~CudaMatrix().
size_type sofa::gpu::cuda::CudaMatrix< T >::hostAllocSize [protected] |
Allocated size.
Definition at line 462 of file CudaTypes.h.
Referenced by sofa::gpu::cuda::CudaMatrix< T >::fastResize(), and sofa::gpu::cuda::CudaMatrix< T >::swap().
bool sofa::gpu::cuda::CudaMatrix< T >::hostIsValid [mutable, protected] |
True if the data on the CPU is currently valid.
Definition at line 467 of file CudaTypes.h.
Referenced by sofa::gpu::cuda::CudaMatrix< T >::clear(), sofa::gpu::cuda::CudaMatrix< T >::copyToHost(), sofa::gpu::cuda::CudaMatrix< T >::deviceWrite(), sofa::gpu::cuda::CudaMatrix< T >::fastResize(), sofa::gpu::cuda::CudaMatrix< T >::isHostValid(), and sofa::gpu::cuda::CudaMatrix< T >::swap().
T* sofa::gpu::cuda::CudaMatrix< T >::hostPointer [protected] |
Pointer to the data on the CPU side.
Definition at line 465 of file CudaTypes.h.
Referenced by sofa::gpu::cuda::CudaMatrix< T >::copyToDevice(), sofa::gpu::cuda::CudaMatrix< T >::copyToHost(), sofa::gpu::cuda::CudaMatrix< T >::fastResize(), sofa::gpu::cuda::CudaMatrix< T >::getCached(), sofa::gpu::cuda::CudaMatrix< T >::hostRead(), sofa::gpu::cuda::CudaMatrix< T >::hostWrite(), sofa::gpu::cuda::CudaMatrix< T >::swap(), and sofa::gpu::cuda::CudaMatrix< T >::~CudaMatrix().
size_type sofa::gpu::cuda::CudaMatrix< T >::pitch [protected] |
Row alignment on the GPU.
Definition at line 461 of file CudaTypes.h.
Referenced by sofa::gpu::cuda::CudaMatrix< T >::clear(), sofa::gpu::cuda::CudaMatrix< T >::copyToDevice(), sofa::gpu::cuda::CudaMatrix< T >::copyToHost(), sofa::gpu::cuda::CudaMatrix< T >::deviceRead(), sofa::gpu::cuda::CudaMatrix< T >::deviceWrite(), sofa::gpu::cuda::CudaMatrix< T >::fastResize(), sofa::gpu::cuda::CudaMatrix< T >::getPitch(), and sofa::gpu::cuda::CudaMatrix< T >::swap().
size_type sofa::gpu::cuda::CudaMatrix< T >::sizeX [protected] |
Current size of the vector.
Definition at line 459 of file CudaTypes.h.
Referenced by sofa::gpu::cuda::CudaMatrix< T >::checkIndex(), sofa::gpu::cuda::CudaMatrix< T >::copyToDevice(), sofa::gpu::cuda::CudaMatrix< T >::copyToHost(), sofa::gpu::cuda::CudaMatrix< T >::empty(), sofa::gpu::cuda::CudaMatrix< T >::fastResize(), sofa::gpu::cuda::CudaMatrix< T >::getCached(), sofa::gpu::cuda::CudaMatrix< T >::getSizeX(), sofa::gpu::cuda::CudaMatrix< T >::hostRead(), sofa::gpu::cuda::CudaMatrix< T >::hostWrite(), and sofa::gpu::cuda::CudaMatrix< T >::swap().
size_type sofa::gpu::cuda::CudaMatrix< T >::sizeY [protected] |
Current size of the vector.
Definition at line 460 of file CudaTypes.h.
Referenced by sofa::gpu::cuda::CudaMatrix< T >::checkIndex(), sofa::gpu::cuda::CudaMatrix< T >::clear(), sofa::gpu::cuda::CudaMatrix< T >::copyToDevice(), sofa::gpu::cuda::CudaMatrix< T >::copyToHost(), sofa::gpu::cuda::CudaMatrix< T >::empty(), sofa::gpu::cuda::CudaMatrix< T >::fastResize(), sofa::gpu::cuda::CudaMatrix< T >::getSizeY(), and sofa::gpu::cuda::CudaMatrix< T >::swap().
1.5.7.1