Commit Graph

26 Commits

Author SHA1 Message Date
foreman 0293e30a65 P4 to Git Change 1104627 by gandryey@gera-dev-w7 on 2014/12/11 12:01:30
EPR #411058 - [CQE OCL][Lnx][QR][CZ]MultiDevice_Context fails in 2.0 conformance wimpyfull due to CL# 1101352
	- The detection of different map types is overcomplicated with possibility of multiple maps and multithreading environment. Thus keep USWC indirect map optimization based on the allocation flags.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpumemory.cpp#114 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpumemory.hpp#46 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#342 edit


[ROCm/clr commit: 593d1e3b8d]
2014-12-11 12:07:05 -05:00
foreman fba461ffe5 P4 to Git Change 1102328 by gandryey@gera-dev-w7 on 2014/12/03 18:56:06
EPR #410736 - [CQE OCL][ISV][QR][G] FFMPEG app generating corrupted video output; Faulty CL:1101352
	- Add detection for AHP allocation.
	 FFmpeg uses AHP allocations with CL_MAP_READ flag, but actually performs CPU write into the buffer. With indirect map runtime executes useless transfer on map and doesn't write updated memory on unmap, because a wrong flag sent by the app.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpumemory.cpp#113 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpumemory.hpp#44 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#341 edit
... //depot/stg/opencl/drivers/opencl/tests/ocltst/module/perf/TestList.cpp#40 edit


[ROCm/clr commit: f9f5df731e]
2014-12-03 19:02:40 -05:00
foreman f43897e51e P4 to Git Change 1101352 by gandryey@gera-dev-w7 on 2014/11/28 18:03:18
ECR #304775 - Make optimization for read map of USWC memory
	- If runtime detects USWC map with read operation, then it will switch to indirect map. This should improve map-read  performance on APU(s)  when USWC memory is used instead of frame buffer

Affected files ...

... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/cl_memobj.cpp#72 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/cl_svm.cpp#8 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/cpu/cpudevice.cpp#269 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/cpu/cpudevice.hpp#89 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/device.cpp#172 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/device.hpp#234 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#486 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.hpp#134 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpumemory.cpp#112 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpumemory.hpp#43 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#340 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/hsa/hsadevice.cpp#88 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/hsa/hsadevice.hpp#45 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/hsa/hsamemory.cpp#42 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/hsa/hsamemory.hpp#27 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/hsa/hsavirtual.cpp#98 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsadevice.cpp#21 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsadevice.hpp#7 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsamemory.cpp#6 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsamemory.hpp#5 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsavirtual.cpp#26 edit


[ROCm/clr commit: 6d464be252]
2014-11-28 18:11:36 -05:00
foreman f7d489a445 P4 to Git Change 1097200 by gandryey@gera-dev-w7 on 2014/11/14 13:59:46
ECR #304775 - Optimize oclBandwidthTest from nVidia SDK
	- Cache pinned memory, since the benchmark sends the same transfer in a single batch. Thus we could avoid pin/unpin
	- Swap SDMA engine allocation order. Blit manager allocates a queue on device, thus the first app queue was getting the paging second SDMA.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpublit.cpp#112 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpublit.hpp#37 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#339 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.hpp#121 edit


[ROCm/clr commit: dc8a3205ce]
2014-11-14 14:07:55 -05:00
foreman 91b247014f P4 to Git Change 1095935 by bwicakso@opencl-hsa-stg-bwicakso on 2014/11/11 16:00:10
ECR #333755 - Part 2- Update to foundation spec 1.0 20141019:
	- hsa_dispatch_packet_t now becomes hsa_kernel_dispatch_packet_t
	- all bit mask in a struct are removed and replaced by enums that indicates the bit position and width.

	Test: TC precheckin

	Review: Hari, Fan, Shucai, German, Yunjun.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.cpp#268 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.hpp#103 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpusched.hpp#15 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#338 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsavirtual.cpp#25 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsavirtual.hpp#12 edit


[ROCm/clr commit: c7988f7209]
2014-11-11 16:27:13 -05:00
foreman 59b9cd758e P4 to Git Change 1092261 by gandryey@gera-dev-w7 on 2014/10/30 13:01:38
ECR #304775 - Align the queue size to match the multidispatch scheduler requirements

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#337 edit


[ROCm/clr commit: 7cac96b9a5]
2014-10-30 13:11:11 -04:00
foreman a45c54099f 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]
2014-10-23 11:19:22 -04:00
foreman 185b8b3f86 P4 to Git Change 1089823 by gandryey@gera-dev-w7 on 2014/10/21 17:52:16
ECR #304775 - Move OCL runtime to the latest HSA1.0 spec

Affected files ...

... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/brig_loader.cpp#14 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/build/Makefile.gpu#24 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/build/Makefile.gpu#57 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudefs.hpp#115 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#471 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.cpp#267 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.hpp#102 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprogram.cpp#181 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpusched.hpp#14 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#335 edit


[ROCm/clr commit: 692a1b9f9a]
2014-10-21 18:07:39 -04:00
foreman e5a38d8984 P4 to Git Change 1082817 by gandryey@gera-dev-w7 on 2014/09/30 13:47:59
ECR #304775 - Reduce the total number of renames to 16.
	- Use 128KB for CB size on SI+

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpusettings.cpp#286 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#334 edit


[ROCm/clr commit: f48b935b43]
2014-09-30 13:57:32 -04:00
foreman 3a3804269d P4 to Git Change 1072528 by gandryey@gera-dev-w7 on 2014/09/02 17:00:16
ECR #304775 - Add batching to the device enqueue for possible asynchronous execution
	- Increase the max device queue size to 512KB. That will allow to pass conformance tests that enqueue more jobs than the queue size.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#459 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpusched.hpp#13 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuschedcl.cpp#28 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#333 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLContext.cpp#65 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLContext.h#39 edit


[ROCm/clr commit: 2738b30287]
2014-09-02 17:15:39 -04:00
foreman 02cbde052e P4 to Git Change 1069392 by gandryey@gera-ubuntu14 on 2014/08/22 15:58:21
EPR #404714 - [CQE OCL][2.0][DTB]Opencl1.2 WF Conf. Math test failedon Pitcairn and Oland due to CL#1065597
	- FIx for TC regression after CL#1069020. Move the lock directly to the gsl flush() calls.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#332 edit


[ROCm/clr commit: 7cc2a2d6e3]
2014-08-22 16:06:32 -04:00
foreman afdeb01ee1 P4 to Git Change 1069020 by gandryey@gera-ubuntu14 on 2014/08/21 16:54:48
EPR #404714 - [CQE OCL][2.0][DTB]Opencl1.2 WF Conf. Math test failedon Pitcairn and Oland due to CL#1065597
	- Add VGPU lock to flush() method, because gsl flush for the same context could be called from multiple threads
	- Use new scratchAlloc_ monitor for scratch reallocation

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#455 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.hpp#130 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#331 edit


[ROCm/clr commit: a4bede39eb]
2014-08-21 17:20:43 -04:00
foreman 41985a7688 P4 to Git Change 1067510 by skudchad@skudchad_test_win_opencl2 on 2014/08/18 14:36:22
ECR #304775 - Correct a typo where I didnt remove the offset from the condition which made the writeRect take pinning path.

	ReviewBoardURL = http://ocltc.amd.com/reviews/r/5566/diff/

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#330 edit


[ROCm/clr commit: d40300fab7]
2014-08-18 14:48:32 -04:00
foreman 9faf6ee948 P4 to Git Change 1065597 by gandryey@gera-dev-w7 on 2014/08/12 18:38:45
ECR #304775 - Device enqueuing
	- Provide scratch buffer offset for generic address space
	- Use single scratch buffer for all available queues. Each queue will have a unique subbuffer in the global buffer

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#454 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.hpp#129 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpusched.hpp#11 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuschedcl.cpp#24 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#329 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.hpp#120 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLContext.cpp#63 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLContext.h#37 edit


[ROCm/clr commit: 8fa184db38]
2014-08-12 18:49:08 -04:00
foreman 805d1e4465 P4 to Git Change 1060466 by skudchad@skudchad_test_win_opencl2 on 2014/07/29 13:45:27
ECR #304775 - Use accelerated copy path for read/writeRect if the host memory has offsets. This avoids re-pinning the memory giving nearly a 100% perf boost for such copies.

	ReviewBoardURL = http://ocltc.amd.com/reviews/r/5371/diff/

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#328 edit


[ROCm/clr commit: 0758f1e95b]
2014-07-29 13:52:27 -04:00
foreman f8dc564915 P4 to Git Change 1059564 by gandryey@gera-dev-w7 on 2014/07/25 18:14:33
ECR #304775 - Device enqueuing
	- Run the scheduler in the host queue by default.
	- GPU_USE_DEVICE_QUEUE=1 can force execution in the device queue

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#451 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.hpp#128 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.cpp#260 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpusched.hpp#10 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuschedcl.cpp#23 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpusettings.cpp#273 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpusettings.hpp#86 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#327 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.hpp#119 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLContext.cpp#62 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLContext.h#36 edit
... //depot/stg/opencl/drivers/opencl/runtime/utils/flags.hpp#208 edit


[ROCm/clr commit: 3a4400135d]
2014-07-25 20:41:05 -04:00
foreman 4d4cb007af P4 to Git Change 1058429 by gandryey@gera-dev-w7 on 2014/07/23 14:41:31
ECR #304775 - Device enqueuing
	- Add 1 to count the queue for the blit engine

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#326 edit


[ROCm/clr commit: 431b0d1047]
2014-07-23 15:23:50 -04:00
foreman f998e7094b P4 to Git Change 1057998 by gandryey@gera-dev-w7 on 2014/07/22 17:15:58
ECR #304775 - Device enqueuing
	- Use atomic fetch for enqueue flags
	- Switch to a multithreaded scheduler
	- Add a workaround for Linux host_multi_queue failures. Linux has only 2 queues, but the test allocates multiple host queues and the same HW ring can be used

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpublit.cpp#106 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#449 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.hpp#127 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuschedcl.cpp#22 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#325 edit


[ROCm/clr commit: d2b905f18e]
2014-07-22 17:30:56 -04:00
foreman 1d845a69b2 P4 to Git Change 1057571 by gandryey@gera-dev-w7 on 2014/07/21 18:35:02
ECR #304775 - Device enqueuing
	- Add L2 cache flush after the scheduler execution. Although CP has to work with L2 cache, it seems some functionality relies on direct memory access and without explicit L2 flush CP can pick old values in the template.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#324 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLContext.cpp#61 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLContext.h#35 edit


[ROCm/clr commit: 4599bd0d4a]
2014-07-21 18:43:54 -04:00
foreman 609ac948cd P4 to Git Change 1056280 by gandryey@gera-dev-w7 on 2014/07/17 11:55:30
ECR #304775 - Device enqueuing
	- Add extra sync point for the scheduler exit.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpusched.hpp#9 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuschedcl.cpp#21 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#323 edit


[ROCm/clr commit: 6627cf5cf7]
2014-07-17 12:20:49 -04:00
foreman af0bc54257 P4 to Git Change 1053379 by xcui@merged_opencl_jxcwin on 2014/07/08 19:38:01
EPR #304775 - fixed the bug 9838. The svm pointer in the arugment list needs to be tracked to make sure all operation of resource has been finished before we dispatch kernel.

	code review:
	http://ocltc.amd.com/reviews/r/5200/
	precheckin:
	http://ocltc.amd.com:8111/viewModification.html?modId=35125&personal=true&buildTypeId=&tab=vcsModificationTests

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.cpp#257 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#322 edit


[ROCm/clr commit: bf32cddc03]
2014-07-08 19:45:31 -04:00
foreman 1553537a82 P4 to Git Change 1053268 by gandryey@gera-dev-w7 on 2014/07/08 15:08:51
ECR #304775 - Device enqueuing
	- Add printing of the waiting events
	- Add early exit in the scheduler if nothing to launch

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuschedcl.cpp#19 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#321 edit


[ROCm/clr commit: 977f314094]
2014-07-08 15:30:04 -04:00
foreman af11d3e66c P4 to Git Change 1052832 by gandryey@gera-dev-w7 on 2014/07/07 18:44:29
ECR #304775 - Device enqueuing
	- Update the scheduler to handle event mask

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuschedcl.cpp#18 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#320 edit


[ROCm/clr commit: cd3fefb00d]
2014-07-07 18:58:52 -04:00
foreman e1ddad4e50 P4 to Git Change 1052441 by gandryey@gera-dev-w7 on 2014/07/04 18:58:11
ECR #304775 - Device enqueuing
	- Match the printed value width with the argument size

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#319 edit


[ROCm/clr commit: 0d42b943fe]
2014-07-04 19:03:58 -04:00
foreman ad3093e80c P4 to Git Change 1052436 by gandryey@gera-dev-w7 on 2014/07/04 17:46:53
ECR #304775 - Device enqueuing
	- Added debug print for the generated child kernels. GPU_PRINT_CHILD_KERNEL=N, where N is the number of child kernels for dump.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#318 edit
... //depot/stg/opencl/drivers/opencl/runtime/utils/flags.hpp#205 edit


[ROCm/clr commit: e4b73f0896]
2014-07-04 17:54:13 -04:00
foreman f80f2f233c initial commit
[ROCm/clr commit: 3694ab2ce8]
2014-07-04 16:17:05 -04:00