Index: streamexecutor/include/streamexecutor/Device.h =================================================================== --- streamexecutor/include/streamexecutor/Device.h +++ streamexecutor/include/streamexecutor/Device.h @@ -18,7 +18,7 @@ #include #include "streamexecutor/KernelSpec.h" -#include "streamexecutor/PlatformInterfaces.h" +#include "streamexecutor/PlatformDevice.h" #include "streamexecutor/Utils/Error.h" namespace streamexecutor { Index: streamexecutor/include/streamexecutor/PlatformDevice.h =================================================================== --- streamexecutor/include/streamexecutor/PlatformDevice.h +++ streamexecutor/include/streamexecutor/PlatformDevice.h @@ -1,4 +1,4 @@ -//===-- PlatformInterfaces.h - Interfaces to platform impls -----*- C++ -*-===// +//===-- PlatformDevice.h - PlatformDevice class -----------------*- C++ -*-===// // // The LLVM Compiler Infrastructure // @@ -8,20 +8,16 @@ //===----------------------------------------------------------------------===// /// /// \file -/// Interfaces to platform-specific implementations. +/// Declaration of the PlatformDevice class. /// -/// The general pattern is that the functions in these interfaces take raw -/// handle types as parameters. This means that these types and functions are -/// not intended for public use. Instead, corresponding methods in public types -/// like Stream, StreamExecutor, and Kernel use C++ templates to create -/// type-safe public interfaces. Those public functions do the type-unsafe work -/// of extracting raw handles from their arguments and forwarding those handles -/// to the methods defined in this file in the proper format. +/// Each specific platform such as CUDA or OpenCL must subclass PlatformDevice +/// and override streamexecutor::Platform::getDevice to return an instance of +/// their PlatformDevice subclass. /// //===----------------------------------------------------------------------===// -#ifndef STREAMEXECUTOR_PLATFORMINTERFACES_H -#define STREAMEXECUTOR_PLATFORMINTERFACES_H +#ifndef STREAMEXECUTOR_PLATFORMDEVICE_H +#define STREAMEXECUTOR_PLATFORMDEVICE_H #include "streamexecutor/DeviceMemory.h" #include "streamexecutor/Kernel.h" @@ -33,9 +29,6 @@ /// Raw executor methods that must be implemented by each platform. /// -/// This class defines the platform interface that supports executing work on a -/// device. -/// /// The public Device and Stream classes have the type-safe versions of the /// functions in this interface. class PlatformDevice { @@ -184,4 +177,4 @@ } // namespace streamexecutor -#endif // STREAMEXECUTOR_PLATFORMINTERFACES_H +#endif // STREAMEXECUTOR_PLATFORMDEVICE_H Index: streamexecutor/include/streamexecutor/Stream.h =================================================================== --- streamexecutor/include/streamexecutor/Stream.h +++ streamexecutor/include/streamexecutor/Stream.h @@ -38,7 +38,7 @@ #include "streamexecutor/Kernel.h" #include "streamexecutor/LaunchDimensions.h" #include "streamexecutor/PackedKernelArgumentArray.h" -#include "streamexecutor/PlatformInterfaces.h" +#include "streamexecutor/PlatformDevice.h" #include "streamexecutor/Utils/Error.h" #include "llvm/ADT/Optional.h" Index: streamexecutor/lib/CMakeLists.txt =================================================================== --- streamexecutor/lib/CMakeLists.txt +++ streamexecutor/lib/CMakeLists.txt @@ -12,7 +12,7 @@ KernelSpec.cpp PackedKernelArgumentArray.cpp Platform.cpp - PlatformInterfaces.cpp + PlatformDevice.cpp PlatformManager.cpp Stream.cpp) target_link_libraries(streamexecutor ${llvm_libs}) Index: streamexecutor/lib/Device.cpp =================================================================== --- streamexecutor/lib/Device.cpp +++ streamexecutor/lib/Device.cpp @@ -16,7 +16,7 @@ #include -#include "streamexecutor/PlatformInterfaces.h" +#include "streamexecutor/PlatformDevice.h" #include "streamexecutor/Stream.h" #include "llvm/ADT/STLExtras.h" Index: streamexecutor/lib/Kernel.cpp =================================================================== --- streamexecutor/lib/Kernel.cpp +++ streamexecutor/lib/Kernel.cpp @@ -16,7 +16,7 @@ #include "streamexecutor/Device.h" #include "streamexecutor/Kernel.h" -#include "streamexecutor/PlatformInterfaces.h" +#include "streamexecutor/PlatformDevice.h" #include "llvm/DebugInfo/Symbolize/Symbolize.h" Index: streamexecutor/lib/PlatformDevice.cpp =================================================================== --- streamexecutor/lib/PlatformDevice.cpp +++ streamexecutor/lib/PlatformDevice.cpp @@ -1,4 +1,4 @@ -//===-- PlatformInterfaces.cpp - Platform interface implementations -------===// +//===-- PlatformDevice.cpp - Platform interface implementations -----------===// // // The LLVM Compiler Infrastructure // @@ -8,11 +8,11 @@ //===----------------------------------------------------------------------===// /// /// \file -/// Implementation file for PlatformInterfaces.h. +/// Implementation file for PlatformDevice.h. /// //===----------------------------------------------------------------------===// -#include "streamexecutor/PlatformInterfaces.h" +#include "streamexecutor/PlatformDevice.h" namespace streamexecutor { Index: streamexecutor/lib/unittests/DeviceTest.cpp =================================================================== --- streamexecutor/lib/unittests/DeviceTest.cpp +++ streamexecutor/lib/unittests/DeviceTest.cpp @@ -17,7 +17,7 @@ #include "SimpleHostPlatformDevice.h" #include "streamexecutor/Device.h" -#include "streamexecutor/PlatformInterfaces.h" +#include "streamexecutor/PlatformDevice.h" #include "gtest/gtest.h" Index: streamexecutor/lib/unittests/PackedKernelArgumentArrayTest.cpp =================================================================== --- streamexecutor/lib/unittests/PackedKernelArgumentArrayTest.cpp +++ streamexecutor/lib/unittests/PackedKernelArgumentArrayTest.cpp @@ -16,7 +16,7 @@ #include "streamexecutor/Device.h" #include "streamexecutor/DeviceMemory.h" #include "streamexecutor/PackedKernelArgumentArray.h" -#include "streamexecutor/PlatformInterfaces.h" +#include "streamexecutor/PlatformDevice.h" #include "llvm/ADT/Twine.h" Index: streamexecutor/lib/unittests/SimpleHostPlatformDevice.h =================================================================== --- streamexecutor/lib/unittests/SimpleHostPlatformDevice.h +++ streamexecutor/lib/unittests/SimpleHostPlatformDevice.h @@ -20,7 +20,7 @@ #include #include -#include "streamexecutor/PlatformInterfaces.h" +#include "streamexecutor/PlatformDevice.h" namespace streamexecutor { namespace test { Index: streamexecutor/lib/unittests/StreamTest.cpp =================================================================== --- streamexecutor/lib/unittests/StreamTest.cpp +++ streamexecutor/lib/unittests/StreamTest.cpp @@ -18,7 +18,7 @@ #include "streamexecutor/Device.h" #include "streamexecutor/Kernel.h" #include "streamexecutor/KernelSpec.h" -#include "streamexecutor/PlatformInterfaces.h" +#include "streamexecutor/PlatformDevice.h" #include "streamexecutor/Stream.h" #include "gtest/gtest.h"