mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
For custom scalars, zero is not necessarily represented by a zeroed-out memory block (e.g. gnu MPFR). We therefore cannot rely on `memset` if we want to fill a matrix or tensor with zeroes. Instead, we should rely on `fill`, which for trivial types does end up getting converted to a `memset` under-the-hood (at least with gcc/clang). Requires adding a `fill(begin, end, v)` to `TensorDevice`. Replaced all potentially bad instances of memset with fill. Fixes #2245.
46 lines
1.3 KiB
C
46 lines
1.3 KiB
C
// This file is part of Eigen, a lightweight C++ template library
|
|
// for linear algebra.
|
|
//
|
|
// Copyright (C) 2014 Benoit Steiner <benoit.steiner.goog@gmail.com>
|
|
// Copyright (C) 2018 Deven Desai <deven.desai.amd@gmail.com>
|
|
//
|
|
// This Source Code Form is subject to the terms of the Mozilla
|
|
// Public License v. 2.0. If a copy of the MPL was not distributed
|
|
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
#if defined(EIGEN_CXX11_TENSOR_GPU_HIP_CUDA_DEFINES_H)
|
|
|
|
#ifndef EIGEN_PERMANENTLY_ENABLE_GPU_HIP_CUDA_DEFINES
|
|
|
|
#undef gpuStream_t
|
|
#undef gpuDeviceProp_t
|
|
#undef gpuError_t
|
|
#undef gpuSuccess
|
|
#undef gpuErrorNotReady
|
|
#undef gpuGetDeviceCount
|
|
#undef gpuGetErrorString
|
|
#undef gpuGetDeviceProperties
|
|
#undef gpuStreamDefault
|
|
#undef gpuGetDevice
|
|
#undef gpuSetDevice
|
|
#undef gpuMalloc
|
|
#undef gpuFree
|
|
#undef gpuMemsetAsync
|
|
#undef gpuMemset2DAsync
|
|
#undef gpuMemcpyAsync
|
|
#undef gpuMemcpyDeviceToDevice
|
|
#undef gpuMemcpyDeviceToHost
|
|
#undef gpuMemcpyHostToDevice
|
|
#undef gpuStreamQuery
|
|
#undef gpuSharedMemConfig
|
|
#undef gpuDeviceSetSharedMemConfig
|
|
#undef gpuStreamSynchronize
|
|
#undef gpuDeviceSynchronize
|
|
#undef gpuMemcpy
|
|
|
|
#endif // EIGEN_PERMANENTLY_ENABLE_GPU_HIP_CUDA_DEFINES
|
|
|
|
#undef EIGEN_CXX11_TENSOR_GPU_HIP_CUDA_DEFINES_H
|
|
|
|
#endif // EIGEN_CXX11_TENSOR_GPU_HIP_CUDA_DEFINES_H
|