Commit Graph

2461 Commits

Author SHA1 Message Date
Phaneendr-kumar Lanka 3bfe30e22c [nvccTests]Enabled inline_asm_vadd on nvcc
[ROCm/clr commit: 9fa3ed4f6f]
2017-11-14 16:37:59 +05:30
Rahul Garg c154921e10 Texture code reorganized
[ROCm/clr commit: e536eb038d]
2017-11-14 11:09:35 +05:30
Pierre 75a1e24519 Fix missing MARKER_END
Logging status of hipCtxSynchronize was missing
Test if hip profiling is active for MARKER_END in ihipPostLaunchKernel
Add MARKER_END after the completion of a kernel launched through
the "grid launch"


[ROCm/clr commit: e60a95d7dd]
2017-11-13 16:13:19 -05:00
Chris Kitching c3dc74be1b Add an explicit check for proper rewriting of CUDA includes
[ROCm/clr commit: 642af94492]
2017-11-13 21:02:42 +00:00
Chris Kitching 98034c4e3f Add a preprocessor conditional to one of the tests
Hurrah, we can cope with ifdefs now (except for kernel launches)


[ROCm/clr commit: e8c1e7bb11]
2017-11-13 20:58:55 +00:00
Chris Kitching 83e450e2c7 Use proper clang diagnostics for printing warnings
Much pretty. Very wow

This gives users all the usual power when it comes to manipulating
clang diagnostics. People can pass -Werror can have hipify fail if
it doesn't completely translate a file, for example. Much nicer
than reinventing the wheel.


[ROCm/clr commit: 506deca07f]
2017-11-13 20:58:55 +00:00
Chris Kitching 842c8c28d7 Use a custom FrontendAction to simplify identifier translation
Most of what hipify does is really just replacing CUDA idenitifers
with HIP ones. CUDA function calls, preprocessor macro calls,
enum references, types, etc.

This is problematic: calls/types/enum-refs require name resolution
for the AST matcher to work. This fails in the presence of code
deleted by the preprocessor, and in two-pass template compilation.

Instead, we can simply hook the lexer and have it rewrite the
identifiers for us.

This approach means identifier transformations will work correctly
regardless of where they appear (and we get to delete lots of code)

- Fixes #260
- Helps a bit with #207 - it will still fail to translate kernel
calls in preprocessor-ignored code, but everything except kerel
launches should translate correctly now, even in
preprocessor-deleted code.


[ROCm/clr commit: 7a441aef10]
2017-11-13 20:58:54 +00:00
Chris Kitching e00c92d828 Add hipify mappings for all CUDA headers that have HIP equivalents
I'm particularly running into issues with `device_types.h` in real
CUDA code...


[ROCm/clr commit: 9014c89f04]
2017-11-13 17:20:07 +00:00
Chris Kitching 41d7a05974 Add a test that exposes #260
[ROCm/clr commit: 0afc6b2e95]
2017-11-13 16:18:15 +00:00
Chris Kitching 5ced4544eb Add a couple of missing CHECK directives to concurrentKernels.cu
[ROCm/clr commit: 4353fc06d7]
2017-11-13 16:17:19 +00:00
Rahul Garg 4ff4a71867 Fix module_api sample
[ROCm/clr commit: e434a23be5]
2017-11-13 08:56:39 +05:30
Alex Voicu b59b227151 Add omitted changes in CMakeLists.txt.
[ROCm/clr commit: bdd2d6d602]
2017-11-10 01:20:50 +00:00
Alex Voicu d7898eeef0 Update new tests so as to make them work with new variadic based launch mechanisms.
[ROCm/clr commit: 8c62d0fbc4]
2017-11-10 00:14:34 +00:00
Alex Voicu 93df8a2a57 Merge remote-tracking branch 'origin/master' into feature_use_module_based_dispatch_instead_of_pfe
[ROCm/clr commit: 1518611976]
2017-11-09 23:43:07 +00:00
Rahul Garg 8069290ca1 Added texture 2D driver API usage example
[ROCm/clr commit: 3711136e46]
2017-11-09 22:35:29 +05:30
Rahul Garg bb8c31c198 Texture driver APIs support
[ROCm/clr commit: 1851c153f6]
2017-11-09 22:10:55 +05:30
Maneesh Gupta 0b86003f38 Merge pull request #250 from AlexVlx/feature_add_agent_global_support
Support for agent globals

[ROCm/clr commit: 925f97fac7]
2017-11-09 07:52:09 +05:30
Alex Voicu 12f00d4881 Merge remote-tracking branch 'origin/master' into feature_use_module_based_dispatch_instead_of_pfe
# Conflicts:
#	tests/src/runtimeApi/stream/hipStreamSync2.cpp


[ROCm/clr commit: f7919a8321]
2017-11-08 10:26:30 +00:00
Maneesh Gupta 907a265bc1 Merge pull request #255 from AlexVlx/remove_some_trailing_whitespace
Clean up trailing whitespace so as to reduce noise in #246.

[ROCm/clr commit: 6f1298d9f6]
2017-11-08 10:29:19 +05:30
Maneesh Gupta 9fe4f363ef Merge pull request #253 from mangupta/hit_add_cmakecmd
[hit] Add support for cmake commands as part of test infra

[ROCm/clr commit: 86f5934beb]
2017-11-08 09:50:29 +05:30
Alex Voicu 142213a52b Clean up trailing whitespace so as to reduce noise in #246.
[ROCm/clr commit: 0ad1308efd]
2017-11-08 00:08:55 +00:00
Ben Sander 6f7992387b Merge pull request #254 from bensander/event_thread_safe
Event thread safe

[ROCm/clr commit: 7b534885e6]
2017-11-07 17:59:51 +01:00
Phaneendr-kumar Lanka fc1af184a4 identation change in hipPeekAtLastError
[ROCm/clr commit: 2a1d7db371]
2017-11-07 09:51:32 +05:30
Alex Voicu 2db0344254 Merge remote-tracking branch 'origin/master' into feature_use_module_based_dispatch_instead_of_pfe
[ROCm/clr commit: 8854dec897]
2017-11-07 00:01:22 +00:00
Ben Sander 2c95d48f87 Check for null event in hipEventElapsedTime
[ROCm/clr commit: e71456cc6c]
2017-11-06 23:49:31 +00:00
Ben Sander f761859993 hipStreamWaitEvent returns success if event created but not recorded
[ROCm/clr commit: b5911acce2]
2017-11-06 23:49:31 +00:00
Ben Sander 379b3fc7a0 Make hipEvent_t thread safe.
Support re-recording of same event by different threads.

- Add criticalData structure to hipEvent_t, similar to mechanism used
  for streams, contexts, device.  Events are always locked
  after streams to avoid deadlock.
- ihipEvent_t::locked_copyCrit can be used to copy critical state
  including marker.  The critical state in the event can then
  be re-recorded.
- refactor hipEventElapsedTime.  Remmove stale debug code, native signal
  refs.


[ROCm/clr commit: 955cfbfdc7]
2017-11-06 23:49:25 +00:00
Maneesh Gupta f00dd1ad73 [hit] Add support for cmake commands as part of test infra
Cmake supports several builtin command-line tools. These tools can
now be specified as part of the HIT block. These commands will be
run during cmake configure step.

Change-Id: I32466c94b2fe1ecdc30249755fc027102295617d


[ROCm/clr commit: f92648e447]
2017-11-06 16:53:57 +05:30
Phaneendr-kumar Lanka b36eb26ef0 Modified tests as per review
[ROCm/clr commit: e18f4239b6]
2017-11-06 15:13:36 +05:30
Phaneendr-kumar Lanka 700890e19a More tests for memory,stream & error APIs
[ROCm/clr commit: 7427abba04]
2017-11-06 11:31:52 +05:30
Maneesh Gupta db9b583cb6 Merge pull request #251 from ROCm-Developer-Tools/fix_event_state
Set event state AFTER it is recorded.

[ROCm/clr commit: dbb6b2bab8]
2017-11-06 07:28:11 +05:30
Maneesh Gupta 6bc2170189 Merge pull request #249 from bensander/warn_event
Add HIP_DB=warn + message if sync on dangerous event.

[ROCm/clr commit: 958ca62c63]
2017-11-06 07:25:40 +05:30
Maneesh Gupta 5b217496ec Merge pull request #239 from phani544/newTests
[newTests]Adding tests for device APIs

[ROCm/clr commit: 544538fd88]
2017-11-06 07:22:13 +05:30
Ben Sander 0c5ce41d7c Set event state AFTER it is recorded.
[ROCm/clr commit: 1c65bb1684]
2017-11-05 10:33:18 -06:00
Alex Voicu 15c5d18ea9 Merge remote-tracking branch 'origin/master' into feature_use_module_based_dispatch_instead_of_pfe
[ROCm/clr commit: 394886903c]
2017-11-03 10:57:12 +00:00
Alex Voicu 21d1d3f1ed Merge remote-tracking branch 'origin/master' into feature_use_module_based_dispatch_instead_of_pfe
# Conflicts:
#	src/hip_module.cpp


[ROCm/clr commit: 17753cbd92]
2017-11-03 10:53:39 +00:00
Phaneendr-kumar Lanka 6034d9fcc1 [newTests]modified the test
[ROCm/clr commit: fa32a1924a]
2017-11-03 14:52:19 +05:30
Phaneendr-kumar Lanka 35b9e10294 [newTests]Modified the test as per review comments
[ROCm/clr commit: 19946ca43d]
2017-11-03 10:39:47 +05:30
Maneesh Gupta eb4a2f36d7 Merge pull request #248 from mangupta/SWDEV-134531
Remove libsupc++ dependency from HIP

[ROCm/clr commit: afd3a6786d]
2017-11-03 08:01:59 +05:30
Alex Voicu e35ce82eff This introduces correct support for agent global variables, and implements hipModuleGetGlobal as an actual equivalent for cuModuleGetGlobal.
[ROCm/clr commit: d12cf0da7d]
2017-11-03 01:44:48 +00:00
Maneesh Gupta f579dd3c7d Remove libsupc++ dependency from HIP
Change-Id: Ib843f99dfb3057b7c28029250c2449732ea7f17f


[ROCm/clr commit: 473208368e]
2017-11-02 12:29:09 +05:30
Alex Voicu 41045dd24d This corrects some interesting choices that were present in the HIP
unit tests such as e.g. de-allocating memory allocated with new[] using
free. All of these were identified via cppcheck.


[ROCm/clr commit: 58a18eaf0c]
2017-11-01 22:51:22 +00:00
Alex Voicu 840895525a Correctly deal with functions from shared objects, wherein the program visible VA == so_base_va + st_value(function_symbol). Remove quaint usage of pfe for hipMemset (which is actually fill_n).
[ROCm/clr commit: 4693c5e56c]
2017-11-01 22:33:13 +00:00
Ben Sander 725f46aa94 Merge pull request #237 from bensander/use_ctxptr_for_p2p
Use ctxptr for p2p

[ROCm/clr commit: fe32685fbc]
2017-11-01 18:55:25 +01:00
Ben Sander 6e82cc25df Add HIP_DB=warn + message if sync on dangerous event.
[ROCm/clr commit: 172b9f96e6]
2017-11-01 10:44:34 -07:00
Ben Sander 19935275ea Merge pull request #245 from scchan/centos_fixes
various fixes for centos/rhel

[ROCm/clr commit: 5a80c4108e]
2017-11-01 18:10:29 +01:00
Alex Voicu b738633bcb This switches HIP from its currently convoluted macro + pfe based dispatch mechanism to a more natural one partially based on the existing module API. The basic idea is that HCC will always correctly emit __global__ functions: as empty-bodied stubs, on host, and as kernels, on device. It then becomes trivial to obtain the mangled name on host, at dispatch, from the function's address, and then to use the mangled name to retrieve the kernel. This should address all problems stemming from serialisation, dubious mismatches due to the manufactured functor, macro-isms et al. It also immediately enables support for generalised globals as a consequence of that being available in the module API. Finally, it will make debug much easier, since the actual names of the __global__ functions will automatically be used in traces etc. One detail is that due to how dispatch works now (hipLaunchKernel and hipLaunchKernelGGL are themselves variadic function templates which deduce the function type of the callee), in certain cases it may be necesssary to insert explicit casts to ensure that the variadic argument list selects a viable overload - this can be observed in some unit tests. Eventually we may be able to remove this limitation, but for now it does not appear terribly onerous. The code is not extremely HIPpie, nor is it fully optimised, but rather is intended as a starting point for the HIP team to make its own.
[ROCm/clr commit: 28f87f7d2e]
2017-11-01 15:09:59 +00:00
Siu Chi Chan 2094b92a3e Centos/RHEL - remove usage of constexpr since libc++ doesn't enable ctor for constexpr pair in C++11
[ROCm/clr commit: c1a4ff7b20]
2017-10-31 18:16:12 +00:00
Siu Chi Chan b04f17be8f use libc++ on centos 7 and rhel 7.4
[ROCm/clr commit: cb454d5366]
2017-10-31 18:14:07 +00:00
Maneesh Gupta c1639486c6 Merge pull request #197 from bensander/update_coherency_tests
Update coherency tests

[ROCm/clr commit: a6458616f5]
2017-10-31 17:26:50 +05:30