76333 Melakukan

Penulis SHA1 Pesan Tanggal
Aditya Atluri 9c45d9eaed Added configuration file to be used by hipcc
1. CMake will create .hip-config file in bin directory
Future Work: Need to make changes to hipcc to read the file

Change-Id: Ia7dc48d43787921d5af4ab07d7a5befbcf904465
2016-08-02 15:45:46 -05:00
Jay Cornwall f76577ae43 Invalidate caches after allocating a code object
Due to a misinterpretation of the HSA specification the microcode has,
until now, been responsible for ensuring a coherent view of the
amd_kernel_code_t object when acquire_fence_scope is set to agent or system.
To correct this the runtime must instead assume this responsibility.

Introduce GpuAgentInt::InvalidateCodeCaches to perform this operation
on-demand. Invoke this after code object allocation. Extend the Queue
implementations to support PM4 command submission, through which the
PM4 command ACQUIRE_MEM can be submitted to perform cache invalidation.
Submit through a runtime-managed queue shared with the blit implementation.

This change depends on microcode support and this is checked against the
running version. Older microcode builds will perform cache invalidation
themselves, so it is acceptable for this change to do nothing in that case.

Change-Id: I268dd2b83af3decdd9ad07430a81df8a2ecb6bd2
2016-08-02 13:30:55 -04:00
Jay Cornwall eb8ab3730b Invalidate caches after allocating a code object
Due to a misinterpretation of the HSA specification the microcode has,
until now, been responsible for ensuring a coherent view of the
amd_kernel_code_t object when acquire_fence_scope is set to agent or system.
To correct this the runtime must instead assume this responsibility.

Introduce GpuAgentInt::InvalidateCodeCaches to perform this operation
on-demand. Invoke this after code object allocation. Extend the Queue
implementations to support PM4 command submission, through which the
PM4 command ACQUIRE_MEM can be submitted to perform cache invalidation.
Submit through a runtime-managed queue shared with the blit implementation.

This change depends on microcode support and this is checked against the
running version. Older microcode builds will perform cache invalidation
themselves, so it is acceptable for this change to do nothing in that case.

Change-Id: I268dd2b83af3decdd9ad07430a81df8a2ecb6bd2


[ROCm/ROCR-Runtime commit: f76577ae43]
2016-08-02 13:30:55 -04:00
foreman b13158531f P4 to Git Change 1297850 by johtaylo@johtaylo-JTBUILDER03-increment on 2016/08/02 03:00:08
SWDEV-2 - Change OpenCL version number from 2183 to 2184.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1930 edit


[ROCm/clr commit: 2c09adc799]
2016-08-02 03:17:33 -04:00
foreman 2c09adc799 P4 to Git Change 1297850 by johtaylo@johtaylo-JTBUILDER03-increment on 2016/08/02 03:00:08
SWDEV-2 - Change OpenCL version number from 2183 to 2184.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1930 edit
2016-08-02 03:17:33 -04:00
Ben Sander ffd5a709f6 Remove faulty assert for kernelCnt==0
Change-Id: I8a925c95f48e857c0a31f44561499e90dc6df552


[ROCm/clr commit: bb005d1755]
2016-08-01 13:38:47 -05:00
Ben Sander bb005d1755 Remove faulty assert for kernelCnt==0
Change-Id: I8a925c95f48e857c0a31f44561499e90dc6df552
2016-08-01 13:38:47 -05:00
Ben Sander 5ffc0a1e25 Remove faulty assert for kernelCnt==0
Change-Id: I8a925c95f48e857c0a31f44561499e90dc6df552


[ROCm/hip commit: f43d02027e]
2016-08-01 13:38:47 -05:00
Ben Sander f43d02027e Remove faulty assert for kernelCnt==0
Change-Id: I8a925c95f48e857c0a31f44561499e90dc6df552
2016-08-01 13:38:47 -05:00
foreman 94580d82b1 P4 to Git Change 1297478 by johtaylo@johtaylo-JTBUILDER03-increment on 2016/08/01 03:00:07
SWDEV-2 - Change OpenCL version number from 2182 to 2183.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1929 edit


[ROCm/clr commit: 0398b45b3d]
2016-08-01 03:12:08 -04:00
foreman 0398b45b3d P4 to Git Change 1297478 by johtaylo@johtaylo-JTBUILDER03-increment on 2016/08/01 03:00:07
SWDEV-2 - Change OpenCL version number from 2182 to 2183.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1929 edit
2016-08-01 03:12:08 -04:00
Maneesh Gupta 22fefac98f Merge branch 'release_0.92.00' into amd-develop
Conflicts:
	RELEASE.md
	docs/markdown/hip_faq.md

Change-Id: Ifae1b64b6255a7872dfdc885bb8fb52f622464b7


[ROCm/clr commit: 2d6eb727e9]
2016-08-01 10:47:25 +05:30
Maneesh Gupta 2d6eb727e9 Merge branch 'release_0.92.00' into amd-develop
Conflicts:
	RELEASE.md
	docs/markdown/hip_faq.md

Change-Id: Ifae1b64b6255a7872dfdc885bb8fb52f622464b7
2016-08-01 10:47:25 +05:30
Maneesh Gupta 7ea77fd1b6 Merge branch 'release_0.92.00' into amd-develop
Conflicts:
	RELEASE.md
	docs/markdown/hip_faq.md

Change-Id: Ifae1b64b6255a7872dfdc885bb8fb52f622464b7


[ROCm/hip commit: 03df23df2b]
2016-08-01 10:47:25 +05:30
Maneesh Gupta 03df23df2b Merge branch 'release_0.92.00' into amd-develop
Conflicts:
	RELEASE.md
	docs/markdown/hip_faq.md

Change-Id: Ifae1b64b6255a7872dfdc885bb8fb52f622464b7
2016-08-01 10:47:25 +05:30
Jay Cornwall d2a4629c55 Add -O0 to CMake debug build configuration
The default optimization level may interfere with debugging.

Change-Id: Ie694ef35b05e4cf2bf4f68bc346e8d60a2d27bc8
2016-07-31 19:28:13 -04:00
Jay Cornwall a25aee96ca Add -O0 to CMake debug build configuration
The default optimization level may interfere with debugging.

Change-Id: Ie694ef35b05e4cf2bf4f68bc346e8d60a2d27bc8


[ROCm/ROCR-Runtime commit: d2a4629c55]
2016-07-31 19:28:13 -04:00
foreman f588de1803 P4 to Git Change 1297390 by johtaylo@johtaylo-JTBUILDER03-increment on 2016/07/31 03:00:08
SWDEV-2 - Change OpenCL version number from 2181 to 2182.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1928 edit


[ROCm/clr commit: 9696e52d9b]
2016-07-31 03:14:23 -04:00
foreman 9696e52d9b P4 to Git Change 1297390 by johtaylo@johtaylo-JTBUILDER03-increment on 2016/07/31 03:00:08
SWDEV-2 - Change OpenCL version number from 2181 to 2182.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1928 edit
2016-07-31 03:14:23 -04:00
Jay Cornwall acc5f15e4c Enable VM fault message by default on Linux
This option was disabled by default to address issues writing to stderr
in Windows applications. The lack of an error message for memory access
faults is confusing to users, however.

Enable the error message by default on Linux only.

Change-Id: I1f44ba42362f8874abdc7c8e63ddd54a855b5394
2016-07-30 10:10:14 -04:00
Jay Cornwall 70e07dcdfd Enable VM fault message by default on Linux
This option was disabled by default to address issues writing to stderr
in Windows applications. The lack of an error message for memory access
faults is confusing to users, however.

Enable the error message by default on Linux only.

Change-Id: I1f44ba42362f8874abdc7c8e63ddd54a855b5394


[ROCm/ROCR-Runtime commit: acc5f15e4c]
2016-07-30 10:10:14 -04:00
foreman eff5183116 P4 to Git Change 1297380 by johtaylo@johtaylo-JTBUILDER03-increment on 2016/07/30 03:00:07
SWDEV-2 - Change OpenCL version number from 2180 to 2181.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1927 edit


[ROCm/clr commit: ec283fb22c]
2016-07-30 02:13:33 -05:00
foreman ec283fb22c P4 to Git Change 1297380 by johtaylo@johtaylo-JTBUILDER03-increment on 2016/07/30 03:00:07
SWDEV-2 - Change OpenCL version number from 2180 to 2181.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1927 edit
2016-07-30 02:13:33 -05:00
Jay Cornwall f7ab361347 Separate blit compute interface from queue creation
The runtime needs a queue on which to submit cache management commands.
Device-to-device blit copy already creates a queue unconditionally.
We can share this queue for both purposes.

This change restructures the BlitKernel interface to accept, rather than
create, a queue. GpuAgent creates queues as needed for both cache
management and blit compute.

Fix queue full detection in AcquireWriteIndex (<= vs <).

Change-Id: I61d0c6b9d04f2dba74872f0676ad791435778ba4
2016-07-29 09:20:25 -04:00
Jay Cornwall 4723abd67d Separate blit compute interface from queue creation
The runtime needs a queue on which to submit cache management commands.
Device-to-device blit copy already creates a queue unconditionally.
We can share this queue for both purposes.

This change restructures the BlitKernel interface to accept, rather than
create, a queue. GpuAgent creates queues as needed for both cache
management and blit compute.

Fix queue full detection in AcquireWriteIndex (<= vs <).

Change-Id: I61d0c6b9d04f2dba74872f0676ad791435778ba4


[ROCm/ROCR-Runtime commit: f7ab361347]
2016-07-29 09:20:25 -04:00
foreman cf0cd0ea70 P4 to Git Change 1296928 by johtaylo@johtaylo-JTBUILDER03-increment on 2016/07/29 03:00:10
SWDEV-2 - Change OpenCL version number from 2179 to 2180.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1926 edit


[ROCm/clr commit: 3be634a417]
2016-07-29 03:09:21 -04:00
foreman 3be634a417 P4 to Git Change 1296928 by johtaylo@johtaylo-JTBUILDER03-increment on 2016/07/29 03:00:10
SWDEV-2 - Change OpenCL version number from 2179 to 2180.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1926 edit
2016-07-29 03:09:21 -04:00
Aditya Atluri 33f459c541 Signal Fix: The signals in a stream are re-used
1. Before, the signal pool is increased depending on the usage
2. After, a static number of signals are allocated to the pool
Only these are used by hip in a stream
3. If the signals required are more than the pool size, the
stream has to wait to make sure all the signals are available
4. Once they are available, the stream can use them
5. Removed HIP_NUM_SIGNALS_PER_STREAM because of redundancy with HIP_STREAM_SIGNALS
6. Increased signal count from 2 to 32.
Future Work: Dynamically increase the pool size depending on the number of
streams allocated by the application. And, null stream should have more signals

Change-Id: I6be36e084f26bb04766fabf776c7210aee0f9e91


[ROCm/clr commit: 9c7ee12822]
2016-07-28 23:01:35 -05:00
Aditya Atluri 9c7ee12822 Signal Fix: The signals in a stream are re-used
1. Before, the signal pool is increased depending on the usage
2. After, a static number of signals are allocated to the pool
Only these are used by hip in a stream
3. If the signals required are more than the pool size, the
stream has to wait to make sure all the signals are available
4. Once they are available, the stream can use them
5. Removed HIP_NUM_SIGNALS_PER_STREAM because of redundancy with HIP_STREAM_SIGNALS
6. Increased signal count from 2 to 32.
Future Work: Dynamically increase the pool size depending on the number of
streams allocated by the application. And, null stream should have more signals

Change-Id: I6be36e084f26bb04766fabf776c7210aee0f9e91
2016-07-28 23:01:35 -05:00
Aditya Atluri 2f53a50718 Signal Fix: The signals in a stream are re-used
1. Before, the signal pool is increased depending on the usage
2. After, a static number of signals are allocated to the pool
Only these are used by hip in a stream
3. If the signals required are more than the pool size, the
stream has to wait to make sure all the signals are available
4. Once they are available, the stream can use them
5. Removed HIP_NUM_SIGNALS_PER_STREAM because of redundancy with HIP_STREAM_SIGNALS
6. Increased signal count from 2 to 32.
Future Work: Dynamically increase the pool size depending on the number of
streams allocated by the application. And, null stream should have more signals

Change-Id: I6be36e084f26bb04766fabf776c7210aee0f9e91


[ROCm/hip commit: 9062ebcf3a]
2016-07-28 23:01:35 -05:00
Aditya Atluri 9062ebcf3a Signal Fix: The signals in a stream are re-used
1. Before, the signal pool is increased depending on the usage
2. After, a static number of signals are allocated to the pool
Only these are used by hip in a stream
3. If the signals required are more than the pool size, the
stream has to wait to make sure all the signals are available
4. Once they are available, the stream can use them
5. Removed HIP_NUM_SIGNALS_PER_STREAM because of redundancy with HIP_STREAM_SIGNALS
6. Increased signal count from 2 to 32.
Future Work: Dynamically increase the pool size depending on the number of
streams allocated by the application. And, null stream should have more signals

Change-Id: I6be36e084f26bb04766fabf776c7210aee0f9e91
2016-07-28 23:01:35 -05:00
Ben Sander 381f67e067 Remove dead enqueueBarrier function.
Change-Id: Ib18fe6bd96ce24dbeb342961ddb5721f7d03f2b2


[ROCm/clr commit: f7ab82cb39]
2016-07-28 22:48:22 -05:00
Ben Sander f7ab82cb39 Remove dead enqueueBarrier function.
Change-Id: Ib18fe6bd96ce24dbeb342961ddb5721f7d03f2b2
2016-07-28 22:48:22 -05:00
Ben Sander 3044711042 Remove dead enqueueBarrier function.
Change-Id: Ib18fe6bd96ce24dbeb342961ddb5721f7d03f2b2


[ROCm/hip commit: 666c227c7d]
2016-07-28 22:48:22 -05:00
Ben Sander 666c227c7d Remove dead enqueueBarrier function.
Change-Id: Ib18fe6bd96ce24dbeb342961ddb5721f7d03f2b2
2016-07-28 22:48:22 -05:00
foreman 8bb14fb26f P4 to Git Change 1296696 by gandryey@gera-w8 on 2016/07/28 16:20:00
SWDEV-99203 - [CGG] OpenCL Samplers object ref count mechanism doesn't work correctly when 2 different samplers are set as argument of the same kernel
	- Revert the change from CL#590388. We have to release the sampler in the captured memory. CPU device has different logic now and doesn't alternate captured memory anymore.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/platform/kernel.cpp#22 edit


[ROCm/clr commit: fa73da1714]
2016-07-28 16:28:15 -04:00
foreman fa73da1714 P4 to Git Change 1296696 by gandryey@gera-w8 on 2016/07/28 16:20:00
SWDEV-99203 - [CGG] OpenCL Samplers object ref count mechanism doesn't work correctly when 2 different samplers are set as argument of the same kernel
	- Revert the change from CL#590388. We have to release the sampler in the captured memory. CPU device has different logic now and doesn't alternate captured memory anymore.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/platform/kernel.cpp#22 edit
2016-07-28 16:28:15 -04:00
foreman a30f29af72 P4 to Git Change 1296360 by johtaylo@johtaylo-JTBUILDER03-increment on 2016/07/28 03:00:07
SWDEV-2 - Change OpenCL version number from 2178 to 2179.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1925 edit


[ROCm/clr commit: 4bef3bbb4a]
2016-07-28 03:09:56 -04:00
foreman 4bef3bbb4a P4 to Git Change 1296360 by johtaylo@johtaylo-JTBUILDER03-increment on 2016/07/28 03:00:07
SWDEV-2 - Change OpenCL version number from 2178 to 2179.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1925 edit
2016-07-28 03:09:56 -04:00
Sylvain Jeaugey 337e8b1313 Remove unneeded deb build script
[ROCm/rccl commit: b3a9e1333d]
2016-07-27 17:58:00 -07:00
Sylvain Jeaugey b3a9e1333d Remove unneeded deb build script 2016-07-27 17:58:00 -07:00
Ben Sander a853d10446 Cleanup sync code.
Remove dead depFutures, enqueueBarrier call.
Rename some parms to reflect usage.
Add comments to better explain tricky parts of sync code.

Change-Id: I763296421d9c2b3b58fc8cef5f010b12ab49553c


[ROCm/clr commit: ef61aae878]
2016-07-27 18:31:11 -05:00
Ben Sander ef61aae878 Cleanup sync code.
Remove dead depFutures, enqueueBarrier call.
Rename some parms to reflect usage.
Add comments to better explain tricky parts of sync code.

Change-Id: I763296421d9c2b3b58fc8cef5f010b12ab49553c
2016-07-27 18:31:11 -05:00
Ben Sander 91368967bb Cleanup sync code.
Remove dead depFutures, enqueueBarrier call.
Rename some parms to reflect usage.
Add comments to better explain tricky parts of sync code.

Change-Id: I763296421d9c2b3b58fc8cef5f010b12ab49553c


[ROCm/hip commit: 02dd7a7399]
2016-07-27 18:31:11 -05:00
Ben Sander 02dd7a7399 Cleanup sync code.
Remove dead depFutures, enqueueBarrier call.
Rename some parms to reflect usage.
Add comments to better explain tricky parts of sync code.

Change-Id: I763296421d9c2b3b58fc8cef5f010b12ab49553c
2016-07-27 18:31:11 -05:00
Amber Lin 6c4d19a9d2 Shorten the device list in PerfCounter
get_block_properties uses the complete DID to identify the GPU. This list
is getting too long when more devices are added. Reading the 12 most
significant digits is good enough to identify the GPU.


Change-Id: Ieebb05402bbe08af12eb7289dfeb5bbf1f515b0f
2016-07-27 17:21:31 -04:00
Amber Lin fd3b0ef0e5 Shorten the device list in PerfCounter
get_block_properties uses the complete DID to identify the GPU. This list
is getting too long when more devices are added. Reading the 12 most
significant digits is good enough to identify the GPU.


Change-Id: Ieebb05402bbe08af12eb7289dfeb5bbf1f515b0f


[ROCm/ROCR-Runtime commit: 6c4d19a9d2]
2016-07-27 17:21:31 -04:00
Ben Sander 058e927c9b Fix API string message for hipDeviceGetAttribute
Change-Id: I30f54627630c8ee835506be8c9921742bb68a43a


[ROCm/clr commit: f5118ce3cd]
2016-07-27 16:18:14 -05:00
Ben Sander f5118ce3cd Fix API string message for hipDeviceGetAttribute
Change-Id: I30f54627630c8ee835506be8c9921742bb68a43a
2016-07-27 16:18:14 -05:00
Ben Sander 07c9fb8b38 Fix API string message for hipDeviceGetAttribute
Change-Id: I30f54627630c8ee835506be8c9921742bb68a43a


[ROCm/hip commit: 4cf0f86e99]
2016-07-27 16:18:14 -05:00