summaryrefslogtreecommitdiffstats
path: root/parallel-libs/streamexecutor/lib/KernelSpec.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'parallel-libs/streamexecutor/lib/KernelSpec.cpp')
-rw-r--r--parallel-libs/streamexecutor/lib/KernelSpec.cpp92
1 files changed, 0 insertions, 92 deletions
diff --git a/parallel-libs/streamexecutor/lib/KernelSpec.cpp b/parallel-libs/streamexecutor/lib/KernelSpec.cpp
deleted file mode 100644
index 951ea8fc41c..00000000000
--- a/parallel-libs/streamexecutor/lib/KernelSpec.cpp
+++ /dev/null
@@ -1,92 +0,0 @@
-//===-- KernelSpec.cpp - General kernel spec implementation ---------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-///
-/// \file
-/// This file contains the implementation details for kernel loader specs.
-///
-//===----------------------------------------------------------------------===//
-
-#include "streamexecutor/KernelSpec.h"
-
-#include "llvm/ADT/STLExtras.h"
-
-namespace streamexecutor {
-
-KernelLoaderSpec::KernelLoaderSpec(llvm::StringRef KernelName)
- : KernelName(KernelName) {}
-
-CUDAPTXInMemorySpec::CUDAPTXInMemorySpec(
- llvm::StringRef KernelName,
- const llvm::ArrayRef<CUDAPTXInMemorySpec::PTXSpec> SpecList)
- : KernelLoaderSpec(KernelName) {
- for (const auto &Spec : SpecList)
- PTXByComputeCapability.emplace(Spec.TheComputeCapability, Spec.PTXCode);
-}
-
-const char *CUDAPTXInMemorySpec::getCode(int ComputeCapabilityMajor,
- int ComputeCapabilityMinor) const {
- auto Iterator =
- PTXByComputeCapability.upper_bound(CUDAPTXInMemorySpec::ComputeCapability{
- ComputeCapabilityMajor, ComputeCapabilityMinor});
- if (Iterator == PTXByComputeCapability.begin())
- return nullptr;
- --Iterator;
- return Iterator->second;
-}
-
-CUDAFatbinInMemorySpec::CUDAFatbinInMemorySpec(llvm::StringRef KernelName,
- const void *Bytes)
- : KernelLoaderSpec(KernelName), Bytes(Bytes) {}
-
-OpenCLTextInMemorySpec::OpenCLTextInMemorySpec(llvm::StringRef KernelName,
- const char *Text)
- : KernelLoaderSpec(KernelName), Text(Text) {}
-
-void MultiKernelLoaderSpec::setKernelName(llvm::StringRef KernelName) {
- if (TheKernelName)
- assert(KernelName.equals(*TheKernelName) &&
- "different kernel names in one MultiKernelLoaderSpec");
- else
- TheKernelName = llvm::make_unique<std::string>(KernelName);
-}
-
-MultiKernelLoaderSpec &MultiKernelLoaderSpec::addCUDAPTXInMemory(
- llvm::StringRef KernelName,
- llvm::ArrayRef<CUDAPTXInMemorySpec::PTXSpec> SpecList) {
- assert((TheCUDAPTXInMemorySpec == nullptr) &&
- "illegal loader spec overwrite");
- setKernelName(KernelName);
- TheCUDAPTXInMemorySpec =
- llvm::make_unique<CUDAPTXInMemorySpec>(KernelName, SpecList);
- return *this;
-}
-
-MultiKernelLoaderSpec &
-MultiKernelLoaderSpec::addCUDAFatbinInMemory(llvm::StringRef KernelName,
- const void *Bytes) {
- assert((TheCUDAFatbinInMemorySpec == nullptr) &&
- "illegal loader spec overwrite");
- setKernelName(KernelName);
- TheCUDAFatbinInMemorySpec =
- llvm::make_unique<CUDAFatbinInMemorySpec>(KernelName, Bytes);
- return *this;
-}
-
-MultiKernelLoaderSpec &
-MultiKernelLoaderSpec::addOpenCLTextInMemory(llvm::StringRef KernelName,
- const char *OpenCLText) {
- assert((TheOpenCLTextInMemorySpec == nullptr) &&
- "illegal loader spec overwrite");
- setKernelName(KernelName);
- TheOpenCLTextInMemorySpec =
- llvm::make_unique<OpenCLTextInMemorySpec>(KernelName, OpenCLText);
- return *this;
-}
-
-} // namespace streamexecutor
OpenPOWER on IntegriCloud