نمودار کامیت

1967 کامیت‌ها

مولف SHA1 پیام تاریخ
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
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
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 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
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
Maneesh Gupta 6b6d28479d Merge pull request #241 from ROCm-Developer-Tools/multi_host
Inital codes to remove x86_64 dependency in HIP source build

[ROCm/clr commit: fc5a86d595]
2017-10-31 16:35:12 +05:30
Ben Sander 4df6b371ab Add ns-level timer for HIP API routines
Refactor some miuses of ihipLogStatus, these should only be in top-level
HIP APIs and should be paired with HIP_API_INIT calls.


[ROCm/clr commit: dc7d993a02]
2017-10-30 20:20:51 +00:00
Wen-Heng (Jack) Chung c949da237a Inital codes to remove x86_64 dependency in HIP source build
[ROCm/clr commit: b98dede49a]
2017-10-30 15:19:23 -05:00
Ben Sander fd5b9cb650 Merge pull request #222 from bensander/fix_device_prop
Fix device prop

[ROCm/clr commit: 7e8b39fc96]
2017-10-30 17:58:48 +01:00
Ben Sander ec29721b16 Check for null copyEngine before looking at peers.
[ROCm/clr commit: 4c7b2be1c2]
2017-10-30 16:58:03 +00:00
Ben Sander a6d17854f8 Merge pull request #226 from scchan/add_printf3
add printf to HIP device functions

[ROCm/clr commit: 4debd30c3d]
2017-10-30 17:08:18 +01:00
Evgeny Mankov 2386c75b98 [HIPIFY] fix typo - missing )
[ROCm/clr commit: a469e785f2]
2017-10-27 23:31:43 +03:00
Evgeny Mankov d93bad141c Merge pull request #238 from ChrisKitching/statistics
[HIPIFY] Decouple the statistics system from the code rewriter

[ROCm/clr commit: 5e5ef3e3f4]
2017-10-27 23:17:20 +03:00
Evgeny Mankov 408839fc1c Merge pull request #236 from ChrisKitching/friendlyCmake
[HIPIFY] Make the cmake build system more friendly

[ROCm/clr commit: f19fcb7a42]
2017-10-27 22:35:13 +03:00
Chris Kitching eaa48e16c3 Remove commented else-block
A warning statement for _string literals_ seems a bit unhelpful.
There's no value in this being here.


[ROCm/clr commit: ec2a6ba446]
2017-10-27 20:12:33 +01:00
Chris Kitching 4e6ca773fa Decouple the statistics system from the code translation
The original implementation had the statistics system woken very
tightly into things like PPCallbacks, with counters duplicated
in two places, and all the output code duplicated. This made it
very difficult to alter the structure of the program without
breaking the statistics system.

Since the planned approach for solving the remaining preprocessor
bugs needs the introduction of a custom FrontendAction, and such
a restructure was incompatible with the way the statistics system
was set up, this rewrite was required.

'tis rather simpler now, mind you :D

This commit also fixes an issue where some stats were counted
twice, and allows `-print-stats` to operate independently of
`-stat-output`, allowing you to print stats to a file without
printing them to a terminal (or vice-versa).


[ROCm/clr commit: dd5a60054a]
2017-10-27 20:12:33 +01:00
Chris Kitching c6bc4f5249 Copy-paste less in the statistics printing code
[ROCm/clr commit: 5365a8638f]
2017-10-27 20:12:33 +01:00
Chris Kitching e9b8afaaeb Inline updateCountersExt
[ROCm/clr commit: 69d2555f17]
2017-10-27 20:12:32 +01:00
Chris Kitching 0b45e8d905 Update counter maps sanely
operator[] default-constructs the map value if no value exists
for that key. Default-construction of int yields a zero. So all
the manual faffing around is just unnecessary.


[ROCm/clr commit: cecc0782ef]
2017-10-27 20:12:32 +01:00
Chris Kitching b89133c2d4 Prefer references to pointers in updateCountersExt()
[ROCm/clr commit: 828552decb]
2017-10-27 20:12:32 +01:00
Chris Kitching f659ad0eeb Move string utility functions into their own translation unit
[ROCm/clr commit: ab824ebd47]
2017-10-27 20:12:32 +01:00
Chris Kitching dcd770f25a Extract LLVM compatibility code into its own translation unit
[ROCm/clr commit: 9478be8198]
2017-10-27 20:12:32 +01:00
Chris Kitching 43b9ce8b56 Remove unused field
[ROCm/clr commit: 9eeac22359]
2017-10-27 20:12:32 +01:00
Chris Kitching 3d0f71e803 Remove CUDA_EXCLUDES
An artefact from a now-defunct hack to avoid corrupting programs


[ROCm/clr commit: 51df93cf25]
2017-10-27 20:12:32 +01:00
Chris Kitching cf14905f11 Make unsupported actually be a bool...
[ROCm/clr commit: 417fc92482]
2017-10-27 20:12:31 +01:00
Chris Kitching 57c7a33674 Describe the LLVM we found
[ROCm/clr commit: c909c00494]
2017-10-27 19:39:41 +01:00
Chris Kitching ae21f6400c Update hipify-clang readme for simplified build process
[ROCm/clr commit: f25afde2f5]
2017-10-27 19:39:41 +01:00
Chris Kitching 4e924460b4 hipify does not add the hipLaunchParm option any more
This was removed a while ago - seems like it uses a different
variant of the launch kernel function now, so this is redundant.


[ROCm/clr commit: 47c8293eaf]
2017-10-27 19:39:41 +01:00
Chris Kitching 8f59de9d2b Use cmake's builtin mechanism for handling library locations
See [the documentation](https://cmake.org/cmake/help/v3.0/command/find_package.html)
for exactly how the search procedure works. If you want to use an
LLVM from a specific location, use CMAKE_PREFIX_PATH as normal.

No longer do we have a nonstandard HIPIFY_CLANG_LLVM_DIR variable
for people to learn about.


[ROCm/clr commit: de8dcf0ed2]
2017-10-27 19:39:40 +01:00
Chris Kitching 366c8b0dd5 Move the "LLVM found" print adjacent to the find_package call
Very surprising that LLVM's finder module doesn't print this
itself like _literally every other finder module_. Blarg.


[ROCm/clr commit: 5211d48ca1]
2017-10-27 19:39:40 +01:00
Chris Kitching 84b2696f56 We no longer rely on HIPIFY_CLANG_LLVM_DIR to disable hipify-clang
Since there's now an option for toggling hipify-clang, omitting the
path is no longer something we need to check for. We'll still
abort if LLVM isn't found, due to `REQUIRED`.


[ROCm/clr commit: a13e983215]
2017-10-27 19:39:40 +01:00
Chris Kitching 758c6ea57f Don't attempt to find test dependencies if tests are disabled
And while we're at it, introduce a handy program-finder macro


[ROCm/clr commit: 384646334c]
2017-10-27 19:39:40 +01:00
Chris Kitching 39b280d948 Use add_dependencies to avoid duplication of pkg_hip_base
[ROCm/clr commit: 414a473d5c]
2017-10-27 19:39:40 +01:00
Chris Kitching e7ae31f2ac Make BUILD_HIPIFY_CLANG a cmake option
Instead of deciding whether to build hipify-clang based on
the presence of an LLVM path on the command line, have an
explicit option.

Do we want this default-on or default-off? I've defaulted it to
on for now, but maybe we want the opposite?


[ROCm/clr commit: 497a776f6c]
2017-10-27 19:39:39 +01:00
Evgeny Mankov bfa8ad1880 Merge pull request #234 from ChrisKitching/warningSpam
[HIPIFY] Do not process __fetch_builtin_* in cudaCall()

[ROCm/clr commit: ab6abe150d]
2017-10-27 21:30:42 +03:00
Evgeny Mankov 29c12e7927 Merge pull request #235 from ChrisKitching/preprocessorEnhancements
[HIPIFY] Handle unconditional preprocessor directives far better

[ROCm/clr commit: d1600b4a85]
2017-10-27 21:21:20 +03:00
Siu Chi Chan bec0ff43e0 Merge remote-tracking branch 'origin/master' into HEAD
[ROCm/clr commit: cf98d0e37d]
2017-10-27 01:18:28 -04:00
Ben Sander b0aa15ee5f Merge pull request #198 from AlexVlx/feature_support_globals_for_module_api
Feature support globals for module api

[ROCm/clr commit: 8a64feef61]
2017-10-27 01:53:34 +02:00
Ben Sander 1058f074f3 Merge pull request #218 from ChrisKitching/nodiscard
Add [[nodiscard]] attribute to hipError_t in C++17 mode

[ROCm/clr commit: 9713dbb6f6]
2017-10-26 22:48:54 +02:00
Ben Sander 7ce81b1573 Merge pull request #223 from bensander/2x_bidir
Use 2X for bidir memory bandwidth calc

[ROCm/clr commit: f76bcf4045]
2017-10-26 21:49:06 +02:00
Ben Sander fb169b4de6 Fix bug with peer-to-peer combined with context API
- Store context inside the tracker rather than using int deviceID that
  was always mapped to primary context
- IsPeerWatcher now based on device IDs rather than specific peers.


[ROCm/clr commit: a417241507]
2017-10-26 19:44:22 +00:00
Aditya Atluri a4af82519a Enhance debug for copy pointers
- show more pointer tracking fields
- show pointer info before and after "tailoring'


[ROCm/clr commit: 698721be34]
2017-10-26 19:44:22 +00:00
Chris Kitching 7360326705 Greatly enhance handling of macros in kernel launches
All but the most contrived use of macros is now properly handled -
have a look at the new testcases this commit adds. You can have
macros in kernel calls, macros spanning chunks of your arguments,
the call, call parameters, or callee can all be macros or
partially macros.


[ROCm/clr commit: 6491c2c3eb]
2017-10-26 17:28:46 +01:00
Chris Kitching 58428d739c Simplify how kernel launch expressions get translated
It seems like there was a lot of machinery here that is no longer
needed now we have hipLaunchKernelGGL (which doesn't require us
to insert an extra argument into kernel functions). We no longer
need to waste cycles scanning the AST for callees.

We can literally just do "Take the callee expression, and dump
it into the first argument of hipLaunchKernelGGL()".


[ROCm/clr commit: a35d30e0b7]
2017-10-26 17:28:30 +01:00
Chris Kitching 74af29d66a Deduplicate preprocessor code
There's three functions here that all do the same thing...

There was also logic that looks for numeric literals and works
backwards to find the macro name from which they are expanded.
I previously introduced code that rewrites macro references at
expand-time in the `MacroExpands` callback, so that code is no
longer doing anything useful.


[ROCm/clr commit: 1ef68090ae]
2017-10-26 17:28:30 +01:00
Chris Kitching b25b17b6b3 Rewrite _all_ CUDA macro identifiers in the preprocessor
Calls to macros that were themselves CUDA API calls were often
being missed - this applies the identifier transform to macro
names at the callsites, too.


[ROCm/clr commit: 30e7e7d919]
2017-10-26 17:27:56 +01:00
Chris Kitching cf50b4f97a Don't special-case source locations for calls in macros
The source location for a call that's inside a macro body will,
by default, point into the macro definition itself. The original
logic was causing macro invocations to be overwritten, as I
explain here:
https://github.com/ROCm-Developer-Tools/HIP/issues/207#issuecomment-337521851

The existing PPCallbacks code is correctly rewriting macro
definitions, so the practical effect of this change is that AST
rewrites on code that's expanded from macros are no-ops.

It might be a performance optimisation to put a short-circiut at
the top of the AST callbacks to abort when faced with code that
was expanded from macros.

It might yet prove wise to do absolutely everything at lex-time...


[ROCm/clr commit: f7e65c5334]
2017-10-26 17:26:37 +01:00
Chris Kitching af81909cab Prefer early-return to deep nesting
A chain of 7 closing braces is never a great sign :D

In the process it became apparant that the unsupported flag
was being silently ignored, causing users to be left with cuda
API calls in their programs with no warning given. This has been
rectified for consistency.


[ROCm/clr commit: c1f4612176]
2017-10-26 17:26:37 +01:00