Commit 07af8343 authored by carlushuang's avatar carlushuang
Browse files

fix compile error after merge develop

parent 07a673c6
...@@ -29,7 +29,7 @@ template <typename SrcData, ...@@ -29,7 +29,7 @@ template <typename SrcData,
index_t VectorDim, index_t VectorDim,
index_t ScalarPerVector, // src/dst must use same vector size, aka src/dst both need same index_t ScalarPerVector, // src/dst must use same vector size, aka src/dst both need same
// avx/float register // avx/float register
InMemoryDataOperationEnum_t DstInMemOp, InMemoryDataOperationEnum DstInMemOp,
bool SrcResetCoordinateAfterRun, bool SrcResetCoordinateAfterRun,
bool DstResetCoordinateAfterRun> bool DstResetCoordinateAfterRun>
struct ThreadwiseTensorSliceTransferAvx2 struct ThreadwiseTensorSliceTransferAvx2
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
namespace ck { namespace ck {
namespace cpu { namespace cpu {
template <AddressSpaceEnum_t BufferAddressSpace, template <AddressSpaceEnum BufferAddressSpace,
typename T, typename T,
typename ElementSpaceSize, typename ElementSpaceSize,
bool InvalidElementUseNumericalZeroValue> bool InvalidElementUseNumericalZeroValue>
...@@ -17,7 +17,7 @@ struct DynamicBuffer ...@@ -17,7 +17,7 @@ struct DynamicBuffer
using type = T; using type = T;
static_assert(BufferAddressSpace == static_assert(BufferAddressSpace ==
AddressSpaceEnum_t::Global); // only valid for global address space on cpu AddressSpaceEnum::Global); // only valid for global address space on cpu
T* p_data_; T* p_data_;
ElementSpaceSize element_space_size_; ElementSpaceSize element_space_size_;
...@@ -35,7 +35,7 @@ struct DynamicBuffer ...@@ -35,7 +35,7 @@ struct DynamicBuffer
{ {
} }
static constexpr AddressSpaceEnum_t GetAddressSpace() { return BufferAddressSpace; } static constexpr AddressSpaceEnum GetAddressSpace() { return BufferAddressSpace; }
constexpr const T& operator[](index_t i) const { return p_data_[i]; } constexpr const T& operator[](index_t i) const { return p_data_[i]; }
...@@ -68,18 +68,18 @@ struct DynamicBuffer ...@@ -68,18 +68,18 @@ struct DynamicBuffer
} }
} }
template <InMemoryDataOperationEnum_t Op, template <InMemoryDataOperationEnum Op,
typename X, typename X,
typename enable_if<is_same<typename scalar_type<remove_cvref_t<X>>::type, typename enable_if<is_same<typename scalar_type<remove_cvref_t<X>>::type,
typename scalar_type<remove_cvref_t<T>>::type>::value, typename scalar_type<remove_cvref_t<T>>::type>::value,
bool>::type = false> bool>::type = false>
void Update(index_t i, bool is_valid_element, const X& x) void Update(index_t i, bool is_valid_element, const X& x)
{ {
if constexpr(Op == InMemoryDataOperationEnum_t::Set) if constexpr(Op == InMemoryDataOperationEnum::Set)
{ {
this->template Set<X>(i, is_valid_element, x); this->template Set<X>(i, is_valid_element, x);
} }
else if constexpr(Op == InMemoryDataOperationEnum_t::Add) else if constexpr(Op == InMemoryDataOperationEnum::Add)
{ {
auto tmp = this->template Get<X>(i, is_valid_element); auto tmp = this->template Get<X>(i, is_valid_element);
this->template Set<X>(i, is_valid_element, x + tmp); this->template Set<X>(i, is_valid_element, x + tmp);
...@@ -111,14 +111,14 @@ struct DynamicBuffer ...@@ -111,14 +111,14 @@ struct DynamicBuffer
static constexpr bool IsDynamicBuffer() { return true; } static constexpr bool IsDynamicBuffer() { return true; }
}; };
template <AddressSpaceEnum_t BufferAddressSpace, typename T, typename ElementSpaceSize> template <AddressSpaceEnum BufferAddressSpace, typename T, typename ElementSpaceSize>
constexpr auto make_dynamic_buffer(T* p, ElementSpaceSize element_space_size) constexpr auto make_dynamic_buffer(T* p, ElementSpaceSize element_space_size)
{ {
return DynamicBuffer<BufferAddressSpace, T, ElementSpaceSize, true>{p, element_space_size}; return DynamicBuffer<BufferAddressSpace, T, ElementSpaceSize, true>{p, element_space_size};
} }
template < template <
AddressSpaceEnum_t BufferAddressSpace, AddressSpaceEnum BufferAddressSpace,
typename T, typename T,
typename ElementSpaceSize, typename ElementSpaceSize,
typename X, typename X,
......
...@@ -218,7 +218,7 @@ int main(int argc, char** argv) ...@@ -218,7 +218,7 @@ int main(int argc, char** argv)
decltype(get_dim_access_order()), // DimAccessOrder decltype(get_dim_access_order()), // DimAccessOrder
1, // VectorDim 1, // VectorDim
1, // ScalarPerVector 1, // ScalarPerVector
ck::InMemoryDataOperationEnum_t::Set, // InMemoryDataOperationEnum_t ck::InMemoryDataOperationEnum::Set, // InMemoryDataOperationEnum
false, // SrcResetCoordinateAfterRun false, // SrcResetCoordinateAfterRun
true // DstResetCoordinateAfterRun true // DstResetCoordinateAfterRun
>; >;
...@@ -232,10 +232,10 @@ int main(int argc, char** argv) ...@@ -232,10 +232,10 @@ int main(int argc, char** argv)
ck::make_zero_multi_index<nDim>(), ck::make_zero_multi_index<nDim>(),
PassThrough{}}; PassThrough{}};
auto input_buf = ck::cpu::make_dynamic_buffer<ck::AddressSpaceEnum_t::Global>( auto input_buf = ck::cpu::make_dynamic_buffer<ck::AddressSpaceEnum::Global>(
static_cast<AType*>(input_mem.mpDeviceBuf), input_mem.mMemSize / sizeof(AType)); static_cast<AType*>(input_mem.mpDeviceBuf), input_mem.mMemSize / sizeof(AType));
auto input_cblock = ck::cpu::make_dynamic_buffer<ck::AddressSpaceEnum_t::Global>( auto input_cblock = ck::cpu::make_dynamic_buffer<ck::AddressSpaceEnum::Global>(
static_cast<AType*>(input_cblock_mem.mpDeviceBuf), static_cast<AType*>(input_cblock_mem.mpDeviceBuf),
input_cblock_mem.mMemSize / sizeof(AType)); input_cblock_mem.mMemSize / sizeof(AType));
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment