cudaVF_pinnedVector0 | cudaVD_pinnedVector0 | cudaVE_pinnedVector0 |
cudaVCF_pinnedVector0 | cudaVCD_pinnedVector0 | cudaVCE_pinnedVector0 |
cudaVPF_pinnedVector0 | cudaVPD_pinnedVector0 | cudaVPE_pinnedVector0 |
cudaVI_pinnedVector0 | cudaVBI_pinnedVector0 | cudaVSI_pinnedVector0 |
cudaVLI_pinnedVector0 | cudaVQI_pinnedVector0 | |
cudaVU_pinnedVector0 | cudaVUB_pinnedVector0 | cudaVUS_pinnedVector0 |
cudaVUL_pinnedVector0 | cudaVUQ_pinnedVector0 | cudaVUI_pinnedVector0 |
|
Funktion | Allokation von "pinned" Host-Memory und Initialisierung mit 0 |
|
CUDA-Funktion C/C++ | #include <cudaVFstd.h>
fVector cudaVF_pinnedVector( fVector *h_X, ui size );
|
CUDA-Funktion Pascal/Delphi | uses VecLib;
function cudaVF_pinnedVector( var h_X:fVector; size:UIntSize ): fVector;
|
|
Beschreibung | Host-Speicher wird reserviert, in den "pinned"-Zustand überführt und mit 0 initialisiert. Der Device-Zeiger wird zurückgegeben; der Host-Zeiger wird als h_X gespeichert. Um den so reservierten Speicher wieder freizugeben, benutze man cudaV_pinnedFree, cudaV_pinnedFreeAll, or cudaV_pinnedNfree (the latter only in C/C++).
Eine Beschreibung der verschiedenen in cudaOptiVec verwendeten Speichertypen findet sich in CudaOptiVecD.htm, Kap. 3. |
|
Fehlerbehandlung | Falls nicht genug Speicher vorhanden ist, oder im Falle von size=0, wird eine Fehlermeldung "Not enough memory" ausgegeben und das Programm abgebrochen.
|
|
Rückgabewert | Device-Zeiger auf den reservierten Speicherbereich |
|
|