Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/marian-nmt/marian.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHieu Hoang <hieuhoang@gmail.com>2017-11-27 05:52:13 +0300
committerHieu Hoang <hieuhoang@gmail.com>2017-11-27 05:52:13 +0300
commitfe8b123e4ac3dc1c5cb6757e06796ff1e0f1b88e (patch)
treeb8e6ddd6f5ff194988da5cd574ba0eda9bf34487
parent2d340d66ee3e627693c3ba333ab1b170062196e3 (diff)
tweak resize
-rw-r--r--src/amun/gpu/mblas/vector.h20
1 files changed, 9 insertions, 11 deletions
diff --git a/src/amun/gpu/mblas/vector.h b/src/amun/gpu/mblas/vector.h
index 7a63708d..eead799f 100644
--- a/src/amun/gpu/mblas/vector.h
+++ b/src/amun/gpu/mblas/vector.h
@@ -84,11 +84,12 @@ public:
void resize(size_t newSize)
{
- if (m_maxSize) {
- assert(m_arr);
- if (newSize > m_maxSize) {
- T *newData;
- HANDLE_ERROR( cudaMalloc(&newData, newSize * sizeof(T)) );
+ if (newSize > m_maxSize) {
+ T *newData;
+ HANDLE_ERROR( cudaMalloc(&newData, newSize * sizeof(T)) );
+
+ if (m_maxSize) {
+ assert(m_arr);
HANDLE_ERROR( cudaMemcpyAsync(
newData,
@@ -98,13 +99,10 @@ public:
CudaStreamHandler::GetStream()) );
HANDLE_ERROR(cudaFree(m_arr));
-
- m_arr = newData;
- m_maxSize = newSize;
}
- }
- else {
- assert(m_arr == nullptr);
+
+ m_arr = newData;
+ m_maxSize = newSize;
}
m_size = newSize;