SWDEV-232894 Port hipMemcpy optimizations from HCC to VDI
Change-Id: I6bebe9ac503a9f80d067aeea8a848409ad210338
Цей коміт міститься в:
1 джерело
082cbfa1f5
коміт
009d0b5f55
7 files changed
+64
-2
No files matched your search
@@ -50,7 +50,8 @@ Context::Context(const std::vector<Device*>& devices, const Info& info)
|
||||
info_(info),
|
||||
properties_(NULL),
|
||||
glenv_(NULL),
|
||||
customHostAllocDevice_(NULL) {
|
||||
customHostAllocDevice_(NULL),
|
||||
largeBar_(true) {
|
||||
for (const auto& device : devices) {
|
||||
device->retain();
|
||||
if (customHostAllocDevice_ == NULL && device->customHostAllocator()) {
|
||||
@@ -59,7 +60,11 @@ Context::Context(const std::vector<Device*>& devices, const Info& info)
|
||||
if (device->svmSupport()) {
|
||||
svmAllocDevice_.push_back(device);
|
||||
}
|
||||
if (!device->isLargeBar()) {
|
||||
largeBar_ = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (svmAllocDevice_.size() > 1) {
|
||||
uint isFirstDeviceFGSEnabled = svmAllocDevice_.front()->isFineGrainedSystem(true);
|
||||
for (auto& dev : svmAllocDevice_) {
|
||||
|
||||
@@ -205,12 +205,15 @@ class Context : public RuntimeObject {
|
||||
void setDefDeviceQueue(const Device& dev, DeviceQueue* queue)
|
||||
{ deviceQueues_[&dev].defDeviceQueue_ = queue; };
|
||||
|
||||
bool isLargeBar() { return largeBar_; }
|
||||
|
||||
private:
|
||||
const Info info_; //!< Context info structure
|
||||
cl_context_properties* properties_; //!< Original properties
|
||||
GLFunctions* glenv_; //!< OpenGL context
|
||||
Device* customHostAllocDevice_; //!< Device responsible for host allocations
|
||||
std::vector<Device*> svmAllocDevice_; //!< Devices can support SVM allocations
|
||||
bool largeBar_; //!< Devices supports large bar
|
||||
std::unordered_map<const Device*, DeviceQueueInfo> deviceQueues_; //!< Device queues mapping
|
||||
mutable Monitor ctxLock_; //!< Lock for the context access
|
||||
};
|
||||
|
||||
Reference in new issue
Заблокувати користувача