P4 to Git Change 1090376 by gandryey@gera-dev-w7 on 2014/10/23 11:03:32
ECR #304775 - Move OCL runtime to the latest HSA1.0 spec
- Use HSA defines
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuresource.cpp#196 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#336 edit
[ROCm/clr commit: 27384c607e]
Этот коммит содержится в:
1 родитель
3feb067296
Коммит
a45c54099f
2 files changed
+76
-90
No files matched your search
@@ -576,22 +576,25 @@ VirtualGPU::create(
|
||||
bool
|
||||
VirtualGPU::allocHsaQueueMem()
|
||||
{
|
||||
amd_queue_t queue;
|
||||
memset(&queue, 0, sizeof(queue));
|
||||
hsaQueueMem_ = new gpu::Memory(dev(), sizeof(queue));
|
||||
if (hsaQueueMem_ == NULL) {
|
||||
return false;
|
||||
}
|
||||
if (!hsaQueueMem_->create(gpu::Resource::Local)) {
|
||||
// Allocate a dummy HSA queue
|
||||
hsaQueueMem_ = new gpu::Memory(dev(), sizeof(amd_queue_t));
|
||||
if ((hsaQueueMem_ == NULL) ||
|
||||
(!hsaQueueMem_->create(gpu::Resource::Local))) {
|
||||
delete hsaQueueMem_;
|
||||
return false;
|
||||
}
|
||||
void* cpuPtr = hsaQueueMem_->map(NULL, gpu::Resource::WriteOnly);
|
||||
queue.private_segment_aperture_base_hi =
|
||||
amd_queue_t* queue = reinterpret_cast<amd_queue_t*>
|
||||
(hsaQueueMem_->map(NULL, gpu::Resource::WriteOnly));
|
||||
if (NULL == queue) {
|
||||
delete hsaQueueMem_;
|
||||
return false;
|
||||
}
|
||||
memset(queue, 0, sizeof(amd_queue_t));
|
||||
// Provide private and local heap addresses
|
||||
queue->private_segment_aperture_base_hi =
|
||||
static_cast<uint32>(dev().gslCtx()->getPrivateApertureBase()>>32);
|
||||
queue.group_segment_aperture_base_hi =
|
||||
queue->group_segment_aperture_base_hi =
|
||||
static_cast<uint32>(dev().gslCtx()->getSharedApertureBase()>>32);
|
||||
memcpy(cpuPtr, &queue, sizeof(queue));
|
||||
hsaQueueMem_->unmap(NULL);
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user