Index: .clang-tidy =================================================================== --- /dev/null +++ .clang-tidy @@ -0,0 +1,17 @@ +Checks: '-*,clang-diagnostic-*,llvm-*,misc-*,-misc-unused-parameters,readability-identifier-naming' +CheckOptions: + - key: readability-identifier-naming.ClassCase + value: CamelCase + - key: readability-identifier-naming.EnumCase + value: CamelCase + - key: readability-identifier-naming.FunctionCase + value: lowerCase + - key: readability-identifier-naming.MemberCase + value: CamelCase + - key: readability-identifier-naming.ParameterCase + value: CamelCase + - key: readability-identifier-naming.UnionCase + value: CamelCase + - key: readability-identifier-naming.VariableCase + value: CamelCase + Index: streamexecutor/include/streamexecutor/Device.h =================================================================== --- streamexecutor/include/streamexecutor/Device.h +++ streamexecutor/include/streamexecutor/Device.h @@ -40,9 +40,8 @@ KernelT>::type> createKernel(const MultiKernelLoaderSpec &Spec) { Expected MaybeKernelHandle = PDevice->createKernel(Spec); - if (!MaybeKernelHandle) { + if (!MaybeKernelHandle) return MaybeKernelHandle.takeError(); - } return KernelT(PDevice, *MaybeKernelHandle, Spec.getKernelName()); } @@ -68,9 +67,8 @@ Expected> registerHostMemory(llvm::MutableArrayRef Memory) { if (Error E = PDevice->registerHostMemory(Memory.data(), - Memory.size() * sizeof(T))) { + Memory.size() * sizeof(T))) return std::move(E); - } return RegisteredHostMemory(this, Memory.data(), Memory.size()); } Index: streamexecutor/include/streamexecutor/DeviceMemory.h =================================================================== --- streamexecutor/include/streamexecutor/DeviceMemory.h +++ streamexecutor/include/streamexecutor/DeviceMemory.h @@ -143,7 +143,7 @@ : TheDevice(D), Handle(Handle), ByteCount(ByteCount) {} /// Transfer ownership of the underlying handle. - GlobalDeviceMemoryBase(GlobalDeviceMemoryBase &&Other) + GlobalDeviceMemoryBase(GlobalDeviceMemoryBase &&Other) noexcept : TheDevice(Other.TheDevice), Handle(Other.Handle), ByteCount(Other.ByteCount) { Other.TheDevice = nullptr; @@ -151,7 +151,7 @@ Other.ByteCount = 0; } - GlobalDeviceMemoryBase &operator=(GlobalDeviceMemoryBase &&Other) { + GlobalDeviceMemoryBase &operator=(GlobalDeviceMemoryBase &&Other) noexcept { TheDevice = Other.TheDevice; Handle = Other.Handle; ByteCount = Other.ByteCount; @@ -178,8 +178,8 @@ public: using ElementTy = ElemT; - GlobalDeviceMemory(GlobalDeviceMemory &&Other) = default; - GlobalDeviceMemory &operator=(GlobalDeviceMemory &&Other) = default; + GlobalDeviceMemory(GlobalDeviceMemory &&) noexcept; + GlobalDeviceMemory &operator=(GlobalDeviceMemory &&) noexcept; /// Returns the number of elements of type ElemT that constitute this /// allocation. @@ -203,6 +203,14 @@ : GlobalDeviceMemoryBase(D, Handle, ElementCount * sizeof(ElemT)) {} }; +template +GlobalDeviceMemory::GlobalDeviceMemory( + GlobalDeviceMemory &&) noexcept = default; + +template +GlobalDeviceMemory &GlobalDeviceMemory:: +operator=(GlobalDeviceMemory &&) noexcept = default; + /// A class to represent the size of a dynamic shared memory buffer of elements /// of type T on a device. /// Index: streamexecutor/include/streamexecutor/Error.h =================================================================== --- streamexecutor/include/streamexecutor/Error.h +++ streamexecutor/include/streamexecutor/Error.h @@ -178,7 +178,7 @@ using llvm::Twine; /// Makes an Error object from an error message. -Error make_error(Twine Message); +Error make_error(const Twine &Message); /// Consumes the input error and returns its error message. /// Index: streamexecutor/include/streamexecutor/HostMemory.h =================================================================== --- streamexecutor/include/streamexecutor/HostMemory.h +++ streamexecutor/include/streamexecutor/HostMemory.h @@ -151,14 +151,14 @@ RegisteredHostMemory(const RegisteredHostMemory &) = delete; RegisteredHostMemory &operator=(const RegisteredHostMemory &) = delete; - RegisteredHostMemory(RegisteredHostMemory &&Other) + RegisteredHostMemory(RegisteredHostMemory &&Other) noexcept : TheDevice(Other.TheDevice), Pointer(Other.Pointer), ElementCount(Other.ElementCount) { Other.TheDevice = nullptr; Other.Pointer = nullptr; } - RegisteredHostMemory &operator=(RegisteredHostMemory &&Other) { + RegisteredHostMemory &operator=(RegisteredHostMemory &&Other) noexcept { TheDevice = Other.TheDevice; Pointer = Other.Pointer; ElementCount = Other.ElementCount; Index: streamexecutor/include/streamexecutor/Kernel.h =================================================================== --- streamexecutor/include/streamexecutor/Kernel.h +++ streamexecutor/include/streamexecutor/Kernel.h @@ -41,8 +41,8 @@ KernelBase(const KernelBase &Other) = delete; KernelBase &operator=(const KernelBase &Other) = delete; - KernelBase(KernelBase &&Other); - KernelBase &operator=(KernelBase &&Other); + KernelBase(KernelBase &&Other) noexcept; + KernelBase &operator=(KernelBase &&Other) noexcept; ~KernelBase(); @@ -68,10 +68,17 @@ llvm::StringRef Name) : KernelBase(D, PlatformKernelHandle, Name) {} - Kernel(Kernel &&Other) = default; - Kernel &operator=(Kernel &&Other) = default; + Kernel(Kernel &&Other) noexcept; + Kernel &operator=(Kernel &&Other) noexcept; }; +template +Kernel::Kernel(Kernel &&) noexcept = default; + +template +Kernel &Kernel:: +operator=(Kernel &&) noexcept = default; + } // namespace streamexecutor #endif // STREAMEXECUTOR_KERNEL_H Index: streamexecutor/include/streamexecutor/KernelSpec.h =================================================================== --- streamexecutor/include/streamexecutor/KernelSpec.h +++ streamexecutor/include/streamexecutor/KernelSpec.h @@ -200,9 +200,8 @@ class MultiKernelLoaderSpec { public: std::string getKernelName() const { - if (TheKernelName) { + if (TheKernelName) return *TheKernelName; - } return ""; } Index: streamexecutor/include/streamexecutor/Stream.h =================================================================== --- streamexecutor/include/streamexecutor/Stream.h +++ streamexecutor/include/streamexecutor/Stream.h @@ -66,8 +66,8 @@ Stream(const Stream &Other) = delete; Stream &operator=(const Stream &Other) = delete; - Stream(Stream &&Other); - Stream &operator=(Stream &&Other); + Stream(Stream &&Other) noexcept; + Stream &operator=(Stream &&Other) noexcept; ~Stream(); @@ -288,7 +288,7 @@ /// Sets the error state from an error message. /// /// Does not overwrite the error if it is already set. - void setError(llvm::Twine Message) { + void setError(const llvm::Twine &Message) { llvm::sys::ScopedWriter WriterLock(*ErrorMessageMutex); if (!ErrorMessage) ErrorMessage = Message.str(); Index: streamexecutor/include/streamexecutor/unittests/CoreTests/SimpleHostPlatformDevice.h =================================================================== --- streamexecutor/include/streamexecutor/unittests/CoreTests/SimpleHostPlatformDevice.h +++ streamexecutor/include/streamexecutor/unittests/CoreTests/SimpleHostPlatformDevice.h @@ -14,8 +14,8 @@ /// //===----------------------------------------------------------------------===// -#ifndef STREAMEXECUTOR_LIB_UNITTESTS_SIMPLEHOSTPLATFORMDEVICE_H -#define STREAMEXECUTOR_LIB_UNITTESTS_SIMPLEHOSTPLATFORMDEVICE_H +#ifndef STREAMEXECUTOR_UNITTESTS_CORETESTS_SIMPLEHOSTPLATFORMDEVICE_H +#define STREAMEXECUTOR_UNITTESTS_CORETESTS_SIMPLEHOSTPLATFORMDEVICE_H #include #include @@ -135,4 +135,4 @@ } // namespace test } // namespace streamexecutor -#endif // STREAMEXECUTOR_LIB_UNITTESTS_SIMPLEHOSTPLATFORMDEVICE_H +#endif // STREAMEXECUTOR_UNITTESTS_CORETESTS_SIMPLEHOSTPLATFORMDEVICE_H Index: streamexecutor/lib/Device.cpp =================================================================== --- streamexecutor/lib/Device.cpp +++ streamexecutor/lib/Device.cpp @@ -29,9 +29,8 @@ Expected Device::createStream() { Expected MaybePlatformStream = PDevice->createStream(); - if (!MaybePlatformStream) { + if (!MaybePlatformStream) return MaybePlatformStream.takeError(); - } return Stream(PDevice, *MaybePlatformStream); } Index: streamexecutor/lib/DeviceMemory.cpp =================================================================== --- streamexecutor/lib/DeviceMemory.cpp +++ streamexecutor/lib/DeviceMemory.cpp @@ -19,10 +19,9 @@ namespace streamexecutor { GlobalDeviceMemoryBase::~GlobalDeviceMemoryBase() { - if (Handle) { + if (Handle) // TODO(jhen): How to handle errors here. consumeError(TheDevice->freeDeviceMemory(*this)); - } } } // namespace streamexecutor Index: streamexecutor/lib/Error.cpp =================================================================== --- streamexecutor/lib/Error.cpp +++ streamexecutor/lib/Error.cpp @@ -44,14 +44,13 @@ namespace streamexecutor { -Error make_error(Twine Message) { +Error make_error(const Twine &Message) { return llvm::make_error(Message.str()); } std::string consumeAndGetMessage(Error &&E) { - if (!E) { + if (!E) return "success"; - } std::string Message; llvm::handleAllErrors(std::move(E), [&Message](const StreamExecutorError &SEE) { Index: streamexecutor/lib/HostMemory.cpp =================================================================== --- streamexecutor/lib/HostMemory.cpp +++ streamexecutor/lib/HostMemory.cpp @@ -20,9 +20,8 @@ void destroyRegisteredHostMemoryInternals(Device *TheDevice, void *Pointer) { // TODO(jhen): How to handle errors here? - if (Pointer) { + if (Pointer) consumeError(TheDevice->unregisterHostMemory(Pointer)); - } } } // namespace internal Index: streamexecutor/lib/Kernel.cpp =================================================================== --- streamexecutor/lib/Kernel.cpp +++ streamexecutor/lib/Kernel.cpp @@ -33,7 +33,7 @@ "cannot construct a kernel object with a null platform kernel handle"); } -KernelBase::KernelBase(KernelBase &&Other) +KernelBase::KernelBase(KernelBase &&Other) noexcept : PDevice(Other.PDevice), PlatformKernelHandle(Other.PlatformKernelHandle), Name(std::move(Other.Name)), DemangledName(std::move(Other.DemangledName)) { @@ -41,7 +41,7 @@ Other.PlatformKernelHandle = nullptr; } -KernelBase &KernelBase::operator=(KernelBase &&Other) { +KernelBase &KernelBase::operator=(KernelBase &&Other) noexcept { PDevice = Other.PDevice; PlatformKernelHandle = Other.PlatformKernelHandle; Name = std::move(Other.Name); Index: streamexecutor/lib/KernelSpec.cpp =================================================================== --- streamexecutor/lib/KernelSpec.cpp +++ streamexecutor/lib/KernelSpec.cpp @@ -25,9 +25,8 @@ llvm::StringRef KernelName, const llvm::ArrayRef SpecList) : KernelLoaderSpec(KernelName) { - for (const auto &Spec : SpecList) { + for (const auto &Spec : SpecList) PTXByComputeCapability.emplace(Spec.TheComputeCapability, Spec.PTXCode); - } } const char *CUDAPTXInMemorySpec::getCode(int ComputeCapabilityMajor, @@ -35,9 +34,8 @@ auto PTXIter = PTXByComputeCapability.find(CUDAPTXInMemorySpec::ComputeCapability{ ComputeCapabilityMajor, ComputeCapabilityMinor}); - if (PTXIter == PTXByComputeCapability.end()) { + if (PTXIter == PTXByComputeCapability.end()) return nullptr; - } return PTXIter->second; } @@ -50,12 +48,11 @@ : KernelLoaderSpec(KernelName), Text(Text) {} void MultiKernelLoaderSpec::setKernelName(llvm::StringRef KernelName) { - if (TheKernelName) { + if (TheKernelName) assert(KernelName.equals(*TheKernelName) && "different kernel names in one MultiKernelLoaderSpec"); - } else { + else TheKernelName = llvm::make_unique(KernelName); - } } MultiKernelLoaderSpec &MultiKernelLoaderSpec::addCUDAPTXInMemory( Index: streamexecutor/lib/Stream.cpp =================================================================== --- streamexecutor/lib/Stream.cpp +++ streamexecutor/lib/Stream.cpp @@ -27,7 +27,7 @@ "cannot construct a stream object with a null platform stream handle"); } -Stream::Stream(Stream &&Other) +Stream::Stream(Stream &&Other) noexcept : PDevice(Other.PDevice), PlatformStreamHandle(Other.PlatformStreamHandle), ErrorMessageMutex(std::move(Other.ErrorMessageMutex)), ErrorMessage(std::move(Other.ErrorMessage)) { @@ -35,7 +35,7 @@ Other.PlatformStreamHandle = nullptr; } -Stream &Stream::operator=(Stream &&Other) { +Stream &Stream::operator=(Stream &&Other) noexcept { PDevice = Other.PDevice; PlatformStreamHandle = Other.PlatformStreamHandle; ErrorMessageMutex = std::move(Other.ErrorMessageMutex); Index: streamexecutor/unittests/CoreTests/DeviceTest.cpp =================================================================== --- streamexecutor/unittests/CoreTests/DeviceTest.cpp +++ streamexecutor/unittests/CoreTests/DeviceTest.cpp @@ -15,9 +15,9 @@ #include #include -#include "SimpleHostPlatformDevice.h" #include "streamexecutor/Device.h" #include "streamexecutor/PlatformDevice.h" +#include "streamexecutor/unittests/CoreTests/SimpleHostPlatformDevice.h" #include "gtest/gtest.h" @@ -96,15 +96,13 @@ TEST_F(DeviceTest, SyncCopyD2HToMutableArrayRefByCount) { EXPECT_NO_ERROR( Device.synchronousCopyD2H(DeviceA5, MutableArrayRef(Host5), 5)); - for (int I = 0; I < 5; ++I) { + for (int I = 0; I < 5; ++I) EXPECT_EQ(HostA5[I], Host5[I]); - } EXPECT_NO_ERROR( Device.synchronousCopyD2H(DeviceB5, MutableArrayRef(Host5), 2)); - for (int I = 0; I < 2; ++I) { + for (int I = 0; I < 2; ++I) EXPECT_EQ(HostB5[I], Host5[I]); - } EXPECT_ERROR( Device.synchronousCopyD2H(DeviceA7, MutableArrayRef(Host5), 7)); @@ -119,9 +117,8 @@ TEST_F(DeviceTest, SyncCopyD2HToMutableArrayRef) { EXPECT_NO_ERROR( Device.synchronousCopyD2H(DeviceA5, MutableArrayRef(Host5))); - for (int I = 0; I < 5; ++I) { + for (int I = 0; I < 5; ++I) EXPECT_EQ(HostA5[I], Host5[I]); - } EXPECT_ERROR( Device.synchronousCopyD2H(DeviceA7, MutableArrayRef(Host5))); @@ -132,9 +129,8 @@ TEST_F(DeviceTest, SyncCopyD2HToPointer) { EXPECT_NO_ERROR(Device.synchronousCopyD2H(DeviceA5, Host5, 5)); - for (int I = 0; I < 5; ++I) { + for (int I = 0; I < 5; ++I) EXPECT_EQ(HostA5[I], Host5[I]); - } EXPECT_ERROR(Device.synchronousCopyD2H(DeviceA5, Host7, 7)); } @@ -142,15 +138,13 @@ TEST_F(DeviceTest, SyncCopyD2HSliceToMutableArrayRefByCount) { EXPECT_NO_ERROR(Device.synchronousCopyD2H( DeviceA5.asSlice().slice(1), MutableArrayRef(Host5 + 1, 4), 4)); - for (int I = 1; I < 5; ++I) { + for (int I = 1; I < 5; ++I) EXPECT_EQ(HostA5[I], Host5[I]); - } EXPECT_NO_ERROR(Device.synchronousCopyD2H(DeviceB5.asSlice().drop_back(1), MutableArrayRef(Host5), 2)); - for (int I = 0; I < 2; ++I) { + for (int I = 0; I < 2; ++I) EXPECT_EQ(HostB5[I], Host5[I]); - } EXPECT_ERROR(Device.synchronousCopyD2H(DeviceA7.asSlice(), MutableArrayRef(Host5), 7)); @@ -165,9 +159,8 @@ TEST_F(DeviceTest, SyncCopyD2HSliceToMutableArrayRef) { EXPECT_NO_ERROR(Device.synchronousCopyD2H(DeviceA7.asSlice().slice(1, 5), MutableArrayRef(Host5))); - for (int I = 0; I < 5; ++I) { + for (int I = 0; I < 5; ++I) EXPECT_EQ(HostA7[I + 1], Host5[I]); - } EXPECT_ERROR(Device.synchronousCopyD2H(DeviceA7.asSlice().drop_back(1), MutableArrayRef(Host5))); @@ -179,9 +172,8 @@ TEST_F(DeviceTest, SyncCopyD2HSliceToPointer) { EXPECT_NO_ERROR( Device.synchronousCopyD2H(DeviceA5.asSlice().slice(1), Host5 + 1, 4)); - for (int I = 1; I < 5; ++I) { + for (int I = 1; I < 5; ++I) EXPECT_EQ(HostA5[I], Host5[I]); - } EXPECT_ERROR(Device.synchronousCopyD2H(DeviceA5.asSlice(), Host7, 7)); } @@ -190,14 +182,12 @@ TEST_F(DeviceTest, SyncCopyH2DToArrayRefByCount) { EXPECT_NO_ERROR(Device.synchronousCopyH2D(ArrayRef(Host5), DeviceA5, 5)); - for (int I = 0; I < 5; ++I) { + for (int I = 0; I < 5; ++I) EXPECT_EQ(getDeviceValue(DeviceA5, I), Host5[I]); - } EXPECT_NO_ERROR(Device.synchronousCopyH2D(ArrayRef(Host5), DeviceB5, 2)); - for (int I = 0; I < 2; ++I) { + for (int I = 0; I < 2; ++I) EXPECT_EQ(getDeviceValue(DeviceB5, I), Host5[I]); - } EXPECT_ERROR(Device.synchronousCopyH2D(ArrayRef(Host7), DeviceA5, 7)); @@ -208,9 +198,8 @@ TEST_F(DeviceTest, SyncCopyH2DToArrayRef) { EXPECT_NO_ERROR(Device.synchronousCopyH2D(ArrayRef(Host5), DeviceA5)); - for (int I = 0; I < 5; ++I) { + for (int I = 0; I < 5; ++I) EXPECT_EQ(getDeviceValue(DeviceA5, I), Host5[I]); - } EXPECT_ERROR(Device.synchronousCopyH2D(ArrayRef(Host5), DeviceA7)); @@ -219,9 +208,8 @@ TEST_F(DeviceTest, SyncCopyH2DToPointer) { EXPECT_NO_ERROR(Device.synchronousCopyH2D(Host5, DeviceA5, 5)); - for (int I = 0; I < 5; ++I) { + for (int I = 0; I < 5; ++I) EXPECT_EQ(getDeviceValue(DeviceA5, I), Host5[I]); - } EXPECT_ERROR(Device.synchronousCopyH2D(Host7, DeviceA5, 7)); } @@ -229,15 +217,13 @@ TEST_F(DeviceTest, SyncCopyH2DSliceToArrayRefByCount) { EXPECT_NO_ERROR(Device.synchronousCopyH2D(ArrayRef(Host5 + 1, 4), DeviceA5.asSlice().slice(1), 4)); - for (int I = 1; I < 5; ++I) { + for (int I = 1; I < 5; ++I) EXPECT_EQ(getDeviceValue(DeviceA5, I), Host5[I]); - } EXPECT_NO_ERROR(Device.synchronousCopyH2D( ArrayRef(Host5), DeviceB5.asSlice().drop_back(1), 2)); - for (int I = 0; I < 2; ++I) { + for (int I = 0; I < 2; ++I) EXPECT_EQ(getDeviceValue(DeviceB5, I), Host5[I]); - } EXPECT_ERROR( Device.synchronousCopyH2D(ArrayRef(Host7), DeviceA5.asSlice(), 7)); @@ -252,9 +238,8 @@ TEST_F(DeviceTest, SyncCopyH2DSliceToArrayRef) { EXPECT_NO_ERROR( Device.synchronousCopyH2D(ArrayRef(Host5), DeviceA5.asSlice())); - for (int I = 0; I < 5; ++I) { + for (int I = 0; I < 5; ++I) EXPECT_EQ(getDeviceValue(DeviceA5, I), Host5[I]); - } EXPECT_ERROR( Device.synchronousCopyH2D(ArrayRef(Host5), DeviceA7.asSlice())); @@ -265,9 +250,8 @@ TEST_F(DeviceTest, SyncCopyH2DSliceToPointer) { EXPECT_NO_ERROR(Device.synchronousCopyH2D(Host5, DeviceA5.asSlice(), 5)); - for (int I = 0; I < 5; ++I) { + for (int I = 0; I < 5; ++I) EXPECT_EQ(getDeviceValue(DeviceA5, I), Host5[I]); - } EXPECT_ERROR(Device.synchronousCopyH2D(Host7, DeviceA5.asSlice(), 7)); } @@ -276,14 +260,12 @@ TEST_F(DeviceTest, SyncCopyD2DByCount) { EXPECT_NO_ERROR(Device.synchronousCopyD2D(DeviceA5, DeviceB5, 5)); - for (int I = 0; I < 5; ++I) { + for (int I = 0; I < 5; ++I) EXPECT_EQ(getDeviceValue(DeviceA5, I), getDeviceValue(DeviceB5, I)); - } EXPECT_NO_ERROR(Device.synchronousCopyD2D(DeviceA7, DeviceB7, 2)); - for (int I = 0; I < 2; ++I) { + for (int I = 0; I < 2; ++I) EXPECT_EQ(getDeviceValue(DeviceA7, I), getDeviceValue(DeviceB7, I)); - } EXPECT_ERROR(Device.synchronousCopyD2D(DeviceA5, DeviceB5, 7)); @@ -294,9 +276,8 @@ TEST_F(DeviceTest, SyncCopyD2D) { EXPECT_NO_ERROR(Device.synchronousCopyD2D(DeviceA5, DeviceB5)); - for (int I = 0; I < 5; ++I) { + for (int I = 0; I < 5; ++I) EXPECT_EQ(getDeviceValue(DeviceA5, I), getDeviceValue(DeviceB5, I)); - } EXPECT_ERROR(Device.synchronousCopyD2D(DeviceA7, DeviceB5)); @@ -306,15 +287,13 @@ TEST_F(DeviceTest, SyncCopySliceD2DByCount) { EXPECT_NO_ERROR( Device.synchronousCopyD2D(DeviceA5.asSlice().slice(1), DeviceB5, 4)); - for (int I = 0; I < 4; ++I) { + for (int I = 0; I < 4; ++I) EXPECT_EQ(getDeviceValue(DeviceA5, I + 1), getDeviceValue(DeviceB5, I)); - } EXPECT_NO_ERROR( Device.synchronousCopyD2D(DeviceA7.asSlice().drop_back(1), DeviceB7, 2)); - for (int I = 0; I < 2; ++I) { + for (int I = 0; I < 2; ++I) EXPECT_EQ(getDeviceValue(DeviceA7, I), getDeviceValue(DeviceB7, I)); - } EXPECT_ERROR(Device.synchronousCopyD2D(DeviceA5.asSlice(), DeviceB5, 7)); @@ -326,9 +305,8 @@ TEST_F(DeviceTest, SyncCopySliceD2D) { EXPECT_NO_ERROR( Device.synchronousCopyD2D(DeviceA7.asSlice().drop_back(2), DeviceB5)); - for (int I = 0; I < 5; ++I) { + for (int I = 0; I < 5; ++I) EXPECT_EQ(getDeviceValue(DeviceA7, I), getDeviceValue(DeviceB5, I)); - } EXPECT_ERROR( Device.synchronousCopyD2D(DeviceA7.asSlice().slice(1), DeviceB5)); @@ -340,15 +318,13 @@ TEST_F(DeviceTest, SyncCopyD2DSliceByCount) { EXPECT_NO_ERROR( Device.synchronousCopyD2D(DeviceA5, DeviceB7.asSlice().slice(2), 5)); - for (int I = 0; I < 5; ++I) { + for (int I = 0; I < 5; ++I) EXPECT_EQ(getDeviceValue(DeviceA5, I), getDeviceValue(DeviceB7, I + 2)); - } EXPECT_NO_ERROR( Device.synchronousCopyD2D(DeviceA7, DeviceB7.asSlice().drop_back(3), 2)); - for (int I = 0; I < 2; ++I) { + for (int I = 0; I < 2; ++I) EXPECT_EQ(getDeviceValue(DeviceA7, I), getDeviceValue(DeviceB7, I)); - } EXPECT_ERROR(Device.synchronousCopyD2D(DeviceA5, DeviceB5.asSlice(), 7)); @@ -360,9 +336,8 @@ TEST_F(DeviceTest, SyncCopyD2DSlice) { EXPECT_NO_ERROR( Device.synchronousCopyD2D(DeviceA5, DeviceB7.asSlice().drop_back(2))); - for (int I = 0; I < 5; ++I) { + for (int I = 0; I < 5; ++I) EXPECT_EQ(getDeviceValue(DeviceA5, I), getDeviceValue(DeviceB7, I)); - } EXPECT_ERROR(Device.synchronousCopyD2D(DeviceA7, DeviceB5.asSlice())); @@ -372,15 +347,13 @@ TEST_F(DeviceTest, SyncCopySliceD2DSliceByCount) { EXPECT_NO_ERROR( Device.synchronousCopyD2D(DeviceA5.asSlice(), DeviceB5.asSlice(), 5)); - for (int I = 0; I < 5; ++I) { + for (int I = 0; I < 5; ++I) EXPECT_EQ(getDeviceValue(DeviceA5, I), getDeviceValue(DeviceB5, I)); - } EXPECT_NO_ERROR( Device.synchronousCopyD2D(DeviceA7.asSlice(), DeviceB7.asSlice(), 2)); - for (int I = 0; I < 2; ++I) { + for (int I = 0; I < 2; ++I) EXPECT_EQ(getDeviceValue(DeviceA7, I), getDeviceValue(DeviceB7, I)); - } EXPECT_ERROR( Device.synchronousCopyD2D(DeviceA5.asSlice(), DeviceB5.asSlice(), 7)); @@ -395,9 +368,8 @@ TEST_F(DeviceTest, SyncCopySliceD2DSlice) { EXPECT_NO_ERROR( Device.synchronousCopyD2D(DeviceA5.asSlice(), DeviceB5.asSlice())); - for (int I = 0; I < 5; ++I) { + for (int I = 0; I < 5; ++I) EXPECT_EQ(getDeviceValue(DeviceA5, I), getDeviceValue(DeviceB5, I)); - } EXPECT_ERROR( Device.synchronousCopyD2D(DeviceA7.asSlice(), DeviceB5.asSlice())); Index: streamexecutor/unittests/CoreTests/PackedKernelArgumentArrayTest.cpp =================================================================== --- streamexecutor/unittests/CoreTests/PackedKernelArgumentArrayTest.cpp +++ streamexecutor/unittests/CoreTests/PackedKernelArgumentArrayTest.cpp @@ -12,11 +12,11 @@ /// //===----------------------------------------------------------------------===// -#include "SimpleHostPlatformDevice.h" #include "streamexecutor/Device.h" #include "streamexecutor/DeviceMemory.h" #include "streamexecutor/PackedKernelArgumentArray.h" #include "streamexecutor/PlatformDevice.h" +#include "streamexecutor/unittests/CoreTests/SimpleHostPlatformDevice.h" #include "llvm/ADT/Twine.h" Index: streamexecutor/unittests/CoreTests/StreamTest.cpp =================================================================== --- streamexecutor/unittests/CoreTests/StreamTest.cpp +++ streamexecutor/unittests/CoreTests/StreamTest.cpp @@ -14,12 +14,12 @@ #include -#include "SimpleHostPlatformDevice.h" #include "streamexecutor/Device.h" #include "streamexecutor/Kernel.h" #include "streamexecutor/KernelSpec.h" #include "streamexecutor/PlatformDevice.h" #include "streamexecutor/Stream.h" +#include "streamexecutor/unittests/CoreTests/SimpleHostPlatformDevice.h" #include "gtest/gtest.h" @@ -80,23 +80,18 @@ se::GlobalDeviceMemory DeviceB7; }; -using llvm::ArrayRef; -using llvm::MutableArrayRef; - // D2H tests TEST_F(StreamTest, CopyD2HToRegisteredRefByCount) { Stream.thenCopyD2H(DeviceA5, RegisteredHost5, 5); EXPECT_TRUE(Stream.isOK()); - for (int I = 0; I < 5; ++I) { + for (int I = 0; I < 5; ++I) EXPECT_EQ(HostA5[I], Host5[I]); - } Stream.thenCopyD2H(DeviceB5, RegisteredHost5, 2); EXPECT_TRUE(Stream.isOK()); - for (int I = 0; I < 2; ++I) { + for (int I = 0; I < 2; ++I) EXPECT_EQ(HostB5[I], Host5[I]); - } Stream.thenCopyD2H(DeviceA7, RegisteredHost5, 7); EXPECT_FALSE(Stream.isOK()); @@ -105,9 +100,8 @@ TEST_F(StreamTest, CopyD2HToRegistered) { Stream.thenCopyD2H(DeviceA5, RegisteredHost5); EXPECT_TRUE(Stream.isOK()); - for (int I = 0; I < 5; ++I) { + for (int I = 0; I < 5; ++I) EXPECT_EQ(HostA5[I], Host5[I]); - } Stream.thenCopyD2H(DeviceA5, RegisteredHost7); EXPECT_FALSE(Stream.isOK()); @@ -117,15 +111,13 @@ Stream.thenCopyD2H(DeviceA5.asSlice().slice(1), RegisteredHost5.asSlice().slice(1, 4), 4); EXPECT_TRUE(Stream.isOK()); - for (int I = 1; I < 5; ++I) { + for (int I = 1; I < 5; ++I) EXPECT_EQ(HostA5[I], Host5[I]); - } Stream.thenCopyD2H(DeviceB5.asSlice().drop_back(1), RegisteredHost5, 2); EXPECT_TRUE(Stream.isOK()); - for (int I = 0; I < 2; ++I) { + for (int I = 0; I < 2; ++I) EXPECT_EQ(HostB5[I], Host5[I]); - } Stream.thenCopyD2H(DeviceA5.asSlice(), RegisteredHost7, 7); EXPECT_FALSE(Stream.isOK()); @@ -134,9 +126,8 @@ TEST_F(StreamTest, CopyD2HSliceToRegistered) { Stream.thenCopyD2H(DeviceA7.asSlice().slice(1, 5), RegisteredHost5); EXPECT_TRUE(Stream.isOK()); - for (int I = 0; I < 5; ++I) { + for (int I = 0; I < 5; ++I) EXPECT_EQ(HostA7[I + 1], Host5[I]); - } Stream.thenCopyD2H(DeviceA5.asSlice(), RegisteredHost7); EXPECT_FALSE(Stream.isOK()); @@ -147,15 +138,13 @@ TEST_F(StreamTest, CopyH2DFromRegisterdByCount) { Stream.thenCopyH2D(RegisteredHost5, DeviceA5, 5); EXPECT_TRUE(Stream.isOK()); - for (int I = 0; I < 5; ++I) { + for (int I = 0; I < 5; ++I) EXPECT_EQ(getDeviceValue(DeviceA5, I), Host5[I]); - } Stream.thenCopyH2D(RegisteredHost5, DeviceB5, 2); EXPECT_TRUE(Stream.isOK()); - for (int I = 0; I < 2; ++I) { + for (int I = 0; I < 2; ++I) EXPECT_EQ(getDeviceValue(DeviceB5, I), Host5[I]); - } Stream.thenCopyH2D(RegisteredHost7, DeviceA5, 7); EXPECT_FALSE(Stream.isOK()); @@ -164,9 +153,8 @@ TEST_F(StreamTest, CopyH2DFromRegistered) { Stream.thenCopyH2D(RegisteredHost5, DeviceA5); EXPECT_TRUE(Stream.isOK()); - for (int I = 0; I < 5; ++I) { + for (int I = 0; I < 5; ++I) EXPECT_EQ(getDeviceValue(DeviceA5, I), Host5[I]); - } Stream.thenCopyH2D(RegisteredHost7, DeviceA5); EXPECT_FALSE(Stream.isOK()); @@ -176,15 +164,13 @@ Stream.thenCopyH2D(RegisteredHost5.asSlice().slice(1, 4), DeviceA5.asSlice().slice(1), 4); EXPECT_TRUE(Stream.isOK()); - for (int I = 1; I < 5; ++I) { + for (int I = 1; I < 5; ++I) EXPECT_EQ(getDeviceValue(DeviceA5, I), Host5[I]); - } Stream.thenCopyH2D(RegisteredHost5, DeviceB5.asSlice().drop_back(1), 2); EXPECT_TRUE(Stream.isOK()); - for (int I = 0; I < 2; ++I) { + for (int I = 0; I < 2; ++I) EXPECT_EQ(getDeviceValue(DeviceB5, I), Host5[I]); - } Stream.thenCopyH2D(RegisteredHost5, DeviceA5.asSlice(), 7); EXPECT_FALSE(Stream.isOK()); @@ -193,9 +179,8 @@ TEST_F(StreamTest, CopyH2DRegisteredToSlice) { Stream.thenCopyH2D(RegisteredHost5, DeviceA5.asSlice()); EXPECT_TRUE(Stream.isOK()); - for (int I = 0; I < 5; ++I) { + for (int I = 0; I < 5; ++I) EXPECT_EQ(getDeviceValue(DeviceA5, I), Host5[I]); - } Stream.thenCopyH2D(RegisteredHost7, DeviceA5.asSlice()); EXPECT_FALSE(Stream.isOK()); @@ -206,15 +191,13 @@ TEST_F(StreamTest, CopyD2DByCount) { Stream.thenCopyD2D(DeviceA5, DeviceB5, 5); EXPECT_TRUE(Stream.isOK()); - for (int I = 0; I < 5; ++I) { + for (int I = 0; I < 5; ++I) EXPECT_EQ(getDeviceValue(DeviceA5, I), getDeviceValue(DeviceB5, I)); - } Stream.thenCopyD2D(DeviceA7, DeviceB7, 2); EXPECT_TRUE(Stream.isOK()); - for (int I = 0; I < 2; ++I) { + for (int I = 0; I < 2; ++I) EXPECT_EQ(getDeviceValue(DeviceA7, I), getDeviceValue(DeviceB7, I)); - } Stream.thenCopyD2D(DeviceA7, DeviceB5, 7); EXPECT_FALSE(Stream.isOK()); @@ -223,9 +206,8 @@ TEST_F(StreamTest, CopyD2D) { Stream.thenCopyD2D(DeviceA5, DeviceB5); EXPECT_TRUE(Stream.isOK()); - for (int I = 0; I < 5; ++I) { + for (int I = 0; I < 5; ++I) EXPECT_EQ(getDeviceValue(DeviceA5, I), getDeviceValue(DeviceB5, I)); - } Stream.thenCopyD2D(DeviceA7, DeviceB5); EXPECT_FALSE(Stream.isOK()); @@ -234,15 +216,13 @@ TEST_F(StreamTest, CopySliceD2DByCount) { Stream.thenCopyD2D(DeviceA5.asSlice().slice(1), DeviceB5, 4); EXPECT_TRUE(Stream.isOK()); - for (int I = 0; I < 4; ++I) { + for (int I = 0; I < 4; ++I) EXPECT_EQ(getDeviceValue(DeviceA5, I + 1), getDeviceValue(DeviceB5, I)); - } Stream.thenCopyD2D(DeviceA7.asSlice().drop_back(1), DeviceB7, 2); EXPECT_TRUE(Stream.isOK()); - for (int I = 0; I < 2; ++I) { + for (int I = 0; I < 2; ++I) EXPECT_EQ(getDeviceValue(DeviceA7, I), getDeviceValue(DeviceB7, I)); - } Stream.thenCopyD2D(DeviceA5.asSlice(), DeviceB5, 7); EXPECT_FALSE(Stream.isOK()); @@ -251,9 +231,8 @@ TEST_F(StreamTest, CopySliceD2D) { Stream.thenCopyD2D(DeviceA7.asSlice().drop_back(2), DeviceB5); EXPECT_TRUE(Stream.isOK()); - for (int I = 0; I < 5; ++I) { + for (int I = 0; I < 5; ++I) EXPECT_EQ(getDeviceValue(DeviceA7, I), getDeviceValue(DeviceB5, I)); - } Stream.thenCopyD2D(DeviceA5.asSlice().drop_back(1), DeviceB7); EXPECT_FALSE(Stream.isOK()); @@ -262,15 +241,13 @@ TEST_F(StreamTest, CopyD2DSliceByCount) { Stream.thenCopyD2D(DeviceA5, DeviceB7.asSlice().slice(2), 5); EXPECT_TRUE(Stream.isOK()); - for (int I = 0; I < 5; ++I) { + for (int I = 0; I < 5; ++I) EXPECT_EQ(getDeviceValue(DeviceA5, I), getDeviceValue(DeviceB7, I + 2)); - } Stream.thenCopyD2D(DeviceA7, DeviceB7.asSlice().drop_back(3), 2); EXPECT_TRUE(Stream.isOK()); - for (int I = 0; I < 2; ++I) { + for (int I = 0; I < 2; ++I) EXPECT_EQ(getDeviceValue(DeviceA7, I), getDeviceValue(DeviceB7, I)); - } Stream.thenCopyD2D(DeviceA5, DeviceB7.asSlice(), 7); EXPECT_FALSE(Stream.isOK()); @@ -279,9 +256,8 @@ TEST_F(StreamTest, CopyD2DSlice) { Stream.thenCopyD2D(DeviceA5, DeviceB7.asSlice().drop_back(2)); EXPECT_TRUE(Stream.isOK()); - for (int I = 0; I < 5; ++I) { + for (int I = 0; I < 5; ++I) EXPECT_EQ(getDeviceValue(DeviceA5, I), getDeviceValue(DeviceB7, I)); - } Stream.thenCopyD2D(DeviceA5, DeviceB7.asSlice()); EXPECT_FALSE(Stream.isOK()); @@ -290,15 +266,13 @@ TEST_F(StreamTest, CopySliceD2DSliceByCount) { Stream.thenCopyD2D(DeviceA5.asSlice(), DeviceB5.asSlice(), 5); EXPECT_TRUE(Stream.isOK()); - for (int I = 0; I < 5; ++I) { + for (int I = 0; I < 5; ++I) EXPECT_EQ(getDeviceValue(DeviceA5, I), getDeviceValue(DeviceB5, I)); - } Stream.thenCopyD2D(DeviceA7.asSlice(), DeviceB7.asSlice(), 2); EXPECT_TRUE(Stream.isOK()); - for (int I = 0; I < 2; ++I) { + for (int I = 0; I < 2; ++I) EXPECT_EQ(getDeviceValue(DeviceA7, I), getDeviceValue(DeviceB7, I)); - } Stream.thenCopyD2D(DeviceA7.asSlice(), DeviceB5.asSlice(), 7); EXPECT_FALSE(Stream.isOK()); @@ -307,9 +281,8 @@ TEST_F(StreamTest, CopySliceD2DSlice) { Stream.thenCopyD2D(DeviceA5.asSlice(), DeviceB5.asSlice()); EXPECT_TRUE(Stream.isOK()); - for (int I = 0; I < 5; ++I) { + for (int I = 0; I < 5; ++I) EXPECT_EQ(getDeviceValue(DeviceA5, I), getDeviceValue(DeviceB5, I)); - } Stream.thenCopyD2D(DeviceA5.asSlice(), DeviceB7.asSlice()); EXPECT_FALSE(Stream.isOK());