• psamfass's avatar
    ROCm port · 4d5d918b
    psamfass authored
    b1688a897 tmpfix: move some unsupported github files into ._upstream <> Wed Apr 23 06:01:27 2025 -0700 <> Philipp Samfass <philipp.samfass@amd.com>
    
    7e23018fb CMakeLists.txt: sync (AMD)?GPU_TARGETS <> Wed Apr 23 11:54:02 2025 +0000 <> domcharrier <docharri@amd.com>
    Synchronize AMDGPU_TARGETS and GPU_TARGETS with CMAKE_HIP_ARCHITECTURES.
    
    7fd927cd8 feat(packaging): add packaging with ROCm CMake <> Tue Dec 17 04:32:21 2024 -0800 <> Philipp Samfass <philipp.samfass@amd.com>
    
    353509bfb doc(README): add disclaimer on early-access software preview <> Thu Jan 30 09:31:08 2025 +0100 <> Philipp Samfass <philipp.samfass@amd.com>
    
    a4942859a fix(__config): Show warning on unsupported architecture only in debug mode. <> Fri Jan 24 09:55:50 2025 -0800 <> Philipp Samfass <philipp.samfass@amd.com>
    
    7cdebecf0 Fix(__config): Improve configuration of *HIP_TSC* macros. <> Thu Jan 23 02:28:18 2025 -0800 <> Philipp Samfass <philipp.samfass@amd.com>
    Details:
    
    Libhipcxx presently does not support all ROCm-enabled architectures.
    Builds for such architectures typically fail, mainly because
    the macros _LIBCUDACXX_HIP_TSC_CLOCKRATE and _LIBCUDACXX_HIP_TSC_NANOSECONDS_PER_CYCLE
    are not set.
    
    With this commit, we improve the configuration of these macros which
    need to be derived from the clock rate of the constant TSC on the device.
    Whenever known for a ROCm-supported gfx* architecture, these macros
    are set correctly and support for gfx1101 has been added.
    However, there is some uncertainty regarding the clock rate when it
    comes to RDNA3, as the ISA docs only mention that the rate is typically
    100 MHz. For this case, a warning is emitted.
    For other architectures, it is presently not known how to
    derive the clock rate at compile time, which is needed for libhipcxx.
    
    We explicitly treat unsupported architectures with a compiler error per
    default. This compiler error can be disabled by compiling with the
    compile-time flag `_LIBCUDACXX_ALLOW_UNSUPPORTED_ARCHITECTURE`.
    In this way, the resulting expected incorrect behavior is explicitly propagated
    to the consuming software package (by means of a compiler error=
     and it is the developer's responsibility to make sure that compiling for an unsupported
    architecture does not result in any consecutive errors.
    
    f34a180c9 doc: generalize comments on clock-rate on AMD GPUs. <> Mon Jan 20 06:04:03 2025 -0800 <> Philipp Samfass <philipp.samfass@amd.com>
    
    b5caed10d doc: increase minimum ROCm requirement to 6.2.0 <> Mon Jan 20 05:55:02 2025 -0800 <> Philipp Samfass <philipp.samfass@amd.com>
    
    f0b28530e doc: update license notice years for modifications <> Mon Jan 20 03:45:46 2025 -0800 <> Philipp Samfass <philipp.samfass@amd.com>
    
    299795d75 fix: add empty lines at the end of some files <> Fri Jan 17 06:46:03 2025 -0800 <> Philipp Samfass <philipp.samfass@amd.com>
    
    cce72dd68 fix/feat: Re-enable (passing) atomics-related unit tests <> Fri Jan 3 06:29:15 2025 -0800 <> Philipp Samfass <philipp.samfass@amd.com>
    
    c095370ef Minor code documentation improvements for WARs taken. <> Fri Jan 3 04:34:28 2025 -0800 <> Philipp Samfass <philipp.samfass@amd.com>
    
    096a791bc Remove no longer required workaround for missing typedef <> Fri Jan 3 04:33:36 2025 -0800 <> Philipp Samfass <philipp.samfass@amd.com>
    
    e0d117b09 Remove obsolete modification license notices <> Thu Jan 2 07:10:52 2025 -0800 <> Philipp Samfass <philipp.samfass@amd.com>
    
    38d653bc4 fix: removed unnecessary assert for nanosecond count in __libcpp_thread_sleep_for <> Wed Dec 18 09:48:58 2024 -0800 <> Philipp Samfass <philipp.samfass@amd.com>
    Reason: On AMD platform, there is no restriction for
    __libcpp_thread_sleep_for() that the steps cannot
    exceed the maximum unsigned integer.
    
    f4fc644fa fix: add missing macro definition _LIBCUDACXX_COMPILER_HIPRTC <> Wed Dec 18 03:45:54 2024 -0800 <> Philipp Samfass <philipp.samfass@amd.com>
    Adds macro definition of _LIBCUDACXX_COMPILER_HIPRTC and additional checks to enable HIPRTC compilation path
    
    4db2fb2ed fix: make barrier unit test unsupported on HIP <> Wed Dec 18 02:56:41 2024 -0800 <> Philipp Samfass <philipp.samfass@amd.com>
    
    8837e1380 fix: use libhipcxx builtin thread API on AMD GPUs <> Wed Dec 18 02:54:15 2024 -0800 <> Philipp Samfass <philipp.samfass@amd.com>
    This fixes compiler errors for some unit tests where a device-specific
    nanosleep implementation is required.
    
    bf75ab6cb feat(hip/cuda aliasing): Add hip = cuda aliasing. <> Wed Dec 18 02:14:40 2024 -0800 <> Philipp Samfass <philipp.samfass@amd.com>
    Details:
    
    Headers from libhipcxx can be included as \#include <hip/*> or as
    \#include <cuda/*>. Furthermore, libhipcxx APIs can be access from the
    hip and the cuda namespace.
    
    5bfa0a1b5 fix/feat(chrono): re-enable and refactor EXPERIMENTAL WAR implementation for UNIX system clocks on AMD devices <> Tue Dec 17 09:54:41 2024 -0800 <> Philipp Samfass <philipp.samfass@amd.com>
    
    5d7c35470 fix(chrono): use nanosecond sys_clock_duration per default <> Tue Dec 17 09:49:56 2024 -0800 <> Philipp Samfass <philipp.samfass@amd.com>
    
    cf0375b8d fix(forward.fail.cpp): do not expect unseen error with hipcc <> Mon Dec 16 07:21:28 2024 -0800 <> Philipp Samfass <philipp.samfass@amd.com>
    
    5a2708286 fix(iterator_traits): Implement C++17 conform behavior. <> Mon Dec 16 07:18:48 2024 -0800 <> Philipp Samfass <philipp.samfass@amd.com>
    According to https://en.cppreference.com/w/cpp/iterator/iterator_traits:
    
    "If Iter does not have any of the five nested types above, then this template has no members by any of those names (std::iterator_traits is SFINAE-friendly)."
    
    We implement this behavior in libhipcxx to fix a failing unit test where
    the expected error message is not seen.
    
    782900422 fix: rename libcudacxx_SOURCE_DIR -> libhipcxx_SOURCE_DIR <> Mon Dec 16 03:00:22 2024 -0800 <> Philipp Samfass <philipp.samfass@amd.com>
    
    6a012ef45 fix(cmath): builtin_logb/builtin_scalbn are not available in device code on HIP/AMD platform <> Thu Dec 5 01:36:45 2024 -0800 <> Philipp Samfass <philipp.samfass@amd.com>
    
    482207aff fix: fix regex expressions to match hipcc error output <> Thu Dec 5 01:03:45 2024 -0800 <> Philipp Samfass <philipp.samfass@amd.com>
    
    99736dce7 doc: remove duplicate LICENSE file libhipcxx <> Wed Dec 4 01:16:47 2024 -0800 <> Philipp Samfass <philipp.samfass@amd.com>
    
    21eb03216 fix/war (unit tests, atomic_ref_member_wait.pass.cpp): make unit test unsupported on HIP platform as there is no IFP of work items <> Wed Dec 4 01:08:38 2024 -0800 <> Philipp Samfass <philipp.samfass@amd.com>
    
    54075e9ef fix/feat(test_macros.h): enable test macros for HIP device path <> Wed Dec 4 01:01:28 2024 -0800 <> Philipp Samfass <philipp.samfass@amd.com>
    
    5e84eb45f fix: fix template deduction guides for device code with HIP <> Wed Dec 4 01:00:47 2024 -0800 <> Philipp Samfass <philipp.samfass@amd.com>
    
    08f64f6dc fix/feat(libcxx/**__config): re-introduce _LIBCUDACXX_HIPCC and _LIBCUDACXX_COMPILER_HIPCC macros for compilation path with hipcc <> Wed Dec 4 00:58:37 2024 -0800 <> Philipp Samfass <philipp.samfass@amd.com>
    
    a16af06da fix(unexpected.h): fix ordering of [[nodiscard]] and inline keywords/qualifiers <> Tue Dec 3 08:13:16 2024 -0800 <> Philipp Samfass <philipp.samfass@amd.com>
    
    5b027a28a feat(chrono): add support for gfx1100 which has a 100 Mhz realtime TSC <> Mon Sep 30 17:15:43 2024 +0200 <> Philipp Samfass <psamfass@amd.com>
    
    69337481b maint/feat: Add necessary TSC clockrate definitions for MI300 <> Tue Mar 12 04:22:54 2024 -0500 <> Philipp Samfass <psamfass@amd.com>
    
    193b9328c fixed a macro that was causing a compiler error for one test <> Tue Apr 18 17:26:11 2023 +0200 <> Philipp Samfass <philipp.samfass@amd.com>
    
    0f134a681 fix(chrono): move chrono implementation into include/__cuda/chrono.h <> Tue Dec 3 05:24:48 2024 -0800 <> Philipp Samfass <philipp.samfass@amd.com>
    
    ba3d38bf5 fix(*/test/force_include_hip.h): add missing header guard <> Mon Dec 2 01:35:43 2024 -0800 <> Philipp Samfass <philipp.samfass@amd.com>
    
    0101b73f3 refactor: rename comment <> Fri Nov 29 08:14:47 2024 -0800 <> Philipp Samfass <philipp.samfass@amd.com>
    
    c8b2e76fb add ISSUE_TEMPLATES WIP <> Thu Oct 17 11:17:08 2024 +0200 <> Philipp Samfass <psamfass@amd.com>
    
    e9b339327 fix/feat(*test/config.py): add gfx1100 to possible HIP archs <> Fri Oct 18 09:10:08 2024 +0200 <> Philipp Samfass <psamfass@amd.com>
    
    88f040925 fixi/feat(*utils/amd/linux/perform_tests.bash): add gfx1100 to known architectures <> Thu Oct 17 18:36:24 2024 +0200 <> Philipp Samfass <psamfass@amd.com>
    
    5a2986686 doc(README, overview.md): add gfx1100 as supported GPU <> Wed Oct 2 11:59:46 2024 +0200 <> Philipp Samfass <psamfass@amd.com>
    
    8ba2418a1 Fix duplicate symbol error that started to happen in RAFT <> Fri Sep 27 08:13:38 2024 +0000 <> monoatamd <mnorouzi@amd.com>
    
    6a3217945 Minor typo <> Tue Sep 24 11:36:11 2024 +0000 <> monoatamd <mnorouzi@amd.com>
    
    bee182ff5 Fix more license issues <> Tue Sep 24 11:35:46 2024 +0000 <> monoatamd <mnorouzi@amd.com>
    
    590fe1dff Change more files with license changes (libhip++ to libcu++) <> Tue Sep 24 11:28:45 2024 +0000 <> monoatamd <mnorouzi@amd.com>
    
    4a11d1ab1 Added missing AMD mod license note to some headers <> Mon Sep 23 16:58:56 2024 +0000 <> monoatamd <mnorouzi@amd.com>
    
    c1c65744d fixup: minimize source code changes with reverse hipification for tests <> Fri Jan 17 06:09:03 2025 -0800 <> Philipp Samfass <philipp.samfass@amd.com>
    
    33538150a fix/partial upgrade: fix definition of _LIBCUDACXX_CPO_ACCESSIBILITY, as it would otherwise cause linker errors due to multiple definitions in dependent projects <> Thu Jun 6 04:25:41 2024 -0700 <> Philipp Samfass <philipp.samfass@amd.com>
    
    96e827c70 Avoid warning "return value of hipGetLastError is ignored" <> Thu May 23 11:05:26 2024 +0000 <> monoatamd <mnorouzi@amd.com>
    
    a56915df0 include missing macro <> Fri May 17 09:46:55 2024 +0000 <> monoatamd <mnorouzi@amd.com>
    
    365d23204 hipify memory_resource header <> Fri May 17 09:29:47 2024 +0000 <> monoatamd <mnorouzi@amd.com>
    
    e5ca470c6 hipify stream_ref header <> Fri May 17 09:11:27 2024 +0000 <> monoatamd <mnorouzi@amd.com>
    
    efbca9f3d Support custom CMAKE_INSTALL_LIBDIR values of 1+ directory When `CMAKE_INSTALL_LIBDIR` is set to something like `lib/aarch64/` the hard-coded logic in `libhipcxx-header-search.cmake.in` fails. <> Wed Jul 17 06:19:44 2024 -0700 <> Philipp Samfass <philipp.samfass@amd.com>
    
    7e231a8cc Corrected license disclaimer <> Fri May 3 07:00:43 2024 -0700 <> Philipp Samfass <philipp.samfass@amd.com>
    
    c35d3efcd docu: beta release of libhipcxx documentation (ported existing libcudacxx documentation) <> Fri May 3 06:53:49 2024 -0700 <> Philipp Samfass <philipp.samfass@amd.com>
    
    588689278 added modifications copyright license to further files where it was missing <> Fri May 3 06:28:52 2024 -0700 <> Philipp Samfass <philipp.samfass@amd.com>
    
    e635cf19b doc/cleanup: clean-up documentation for unsupported APIs/features <> Fri May 3 06:04:39 2024 -0700 <> Philipp Samfass <philipp.samfass@amd.com>
    
    1822d48b2 doc: revised documentation (overview + setup instructions) <> Thu May 2 09:09:17 2024 -0700 <> Philipp Samfass <philipp.samfass@amd.com>
    
    58853e45c doc: add files needed to generate ROCm docs documentation <> Thu May 2 09:05:25 2024 -0700 <> Philipp Samfass <philipp.samfass@amd.com>
    
    b1e6e602d doc: clean-up not needed files <> Thu May 2 08:10:17 2024 -0700 <> Philipp Samfass <philipp.samfass@amd.com>
    
    14222e638 Update perform_tests.bash <> Fri May 3 13:46:25 2024 +0200 <> Philipp Samfass <philipp.samfass@amd.com>
    
    25cda337e remove links to internal SWDEV tickets <> Thu May 2 01:55:04 2024 -0700 <> Philipp Samfass <philipp.samfass@amd.com>
    
    4a420a0c3 Add modifications license comments <> Tue Apr 30 06:20:18 2024 -0700 <> Philipp Samfass <philipp.samfass@amd.com>
    
    63b166c41 Add modification license/new license to several files <> Tue Apr 30 01:12:34 2024 -0700 <> Philipp Samfass <philipp.samfass@amd.com>
    
    32b2bf38e re-add example that shows how to use chrono_sysclock workaround (missing UNIX timestamp on the device for C++20) <> Tue Apr 30 01:10:51 2024 -0700 <> Philipp Samfass <philipp.samfass@amd.com>
    
    4bdbd47dd feat: add HIP example for concurrent_hash_table cleanup: remove CUDA examples <> Mon Apr 29 08:06:45 2024 -0700 <> Philipp Samfass <philipp.samfass@amd.com>
    
    64eca7761 Cleanup further files from upstream <> Mon Apr 29 07:54:36 2024 -0700 <> Philipp Samfass <philipp.samfass@amd.com>
    
    35a086321 tmpfix: disable further unsupported tests with hipcc <> Mon Apr 29 06:14:01 2024 -0700 <> Philipp Samfass <philipp.samfass@amd.com>
    
    595326633 Move further CUDA/NVIDIA-specific files <> Mon Apr 29 05:01:25 2024 -0700 <> Philipp Samfass <philipp.samfass@amd.com>
    
    7a97fdc69 CMakeLists.txt: Abort with error if CUDA language/backend is used,  as it is currently not supported in libhipcxx. <> Mon Apr 29 04:21:52 2024 -0700 <> Philipp Samfass <philipp.samfass@amd.com>
    
    f1d18ffa0 delete NVIDIA-licensed source code files <> Mon Apr 29 02:05:21 2024 -0700 <> Philipp Samfass <philipp.samfass@amd.com>
    
    78479a82c LICENSE.txt: add MIT license, remove NVIDIA license <> Mon Apr 29 02:04:48 2024 -0700 <> Philipp Samfass <philipp.samfass@amd.com>
    
    d211490f6 remove HIP examples <> Thu Apr 4 05:40:22 2024 -0700 <> Philipp Samfass <philipp.samfass@amd.com>
    
    2dd17a794 Update alloc_convert_copy.fail.cpp <> Mon Mar 25 12:03:56 2024 +0100 <> Philipp Samfass <philipp.samfass@amd.com>
    
    5df8e70c4 war/tmpfix: disable currently unsupported test with hipcc <> Tue Mar 12 08:33:30 2024 -0500 <> Philipp Samfass <psamfass@amd.com>
    
    dc5facffe war/fix: -stdc++20 seems presently not supported for HIP as a device function can't use new at the moment, see https://<redacted>libhipcxx/issues/25 <> Tue Mar 12 07:41:15 2024 -0500 <> Philipp Samfass <psamfass@amd.com>
    
    1bc945eb1 feat(maintenance): add architectures gfx940 gfx941 gfx942 to build system <> Mon Mar 11 09:11:49 2024 -0700 <> Philipp Samfass <philipp.samfass@amd.com>
    
    c44ca235e fix/war: ROCm 6.0 includes nv/target as part of rocthrust which causes a conflict with the libhipcxx nv/target and nv/detail/__target__macros header guards (same guard name). We therefore rename the header guards in libhipcxx. <> Tue Dec 19 06:20:24 2023 -0800 <> Philipp Samfass <philipp.samfass@amd.com>
    
    d32635923 Added a workaround for missing typedefs when libhipcxx headers are JIT-compiled  with HIPRTC. See SWDEV-421819 <> Wed Sep 13 10:35:11 2023 +0000 <> Philipp Samfass <philipp.samfass@amd.com>
    
    6a19dfa95 fix: fixed compiler macros for selecting compilation path w/o HIP_RTC; this fixes several compiler errors when building the headers <> Mon Sep 11 13:13:35 2023 +0000 <> Philipp Samfass <philipp.samfass@amd.com>
    
    bfbbe86b6 1) deleted duplicate header files 2) Fixed failing test    std/utilities/meta/meta.unary/meta.unary.prop/is_constructible.pass.cpp: Here, a fallback implementation for is_constructible is tested which is not needed for hip. Some change between ROCm 5.5 and 5.6 makes this fallback implementation fail. Since we do not need the fallback implementation, we will disable this test for now, just like it has been done for MVCC. <> Tue Jul 25 12:20:07 2023 +0000 <> Philipp Samfass <philipp.samfass@amd.com>
    
    1cc0700a6 Remove deprecated todos <> Mon Jul 10 07:28:07 2023 +0000 <> monoatamd <mnorouzi@amd.com>
    
    b202399d0 fix: missing semicolon <> Thu Jun 15 13:16:16 2023 +0200 <> Philipp Samfass <philipp.samfass@amd.com>
    
    f1dbb4534 fixed test that was failing for wrong reason <> Thu May 11 15:32:34 2023 +0200 <> Philipp Samfass <philipp.samfass@amd.com>
    
    ef65e2c9e fixed variable name <> Mon May 8 10:23:07 2023 +0200 <> Philipp Samfass <philipp.samfass@amd.com>
    
    85955436c added an improved implementation of nanosleep for AMD GPUs, which is less fine-granular but uses S_SLEEP to block the waves for some cycles <> Mon May 8 08:30:24 2023 +0200 <> Philipp Samfass <philipp.samfass@amd.com>
    
    7e133ebf8 Update alloc_convert_copy.fail.cpp <> Tue May 2 09:10:56 2023 +0200 <> Philipp Samfass <philipp.samfass@amd.com>
    
    308402161 feat: Support more tests and comments for unsprtd <> Fri Apr 28 16:16:32 2023 +0000 <> monoatamd <mnorouzi@amd.com>
    
    d1b01d241 bug: Rewind changes in alloc_convert_copy.fail.cpp <> Thu Apr 27 08:36:47 2023 +0000 <> monoatamd <mnorouzi@amd.com>
    
    fb2953f5d feat: Support more tests <> Thu Apr 27 08:29:28 2023 +0000 <> monoatamd <mnorouzi@amd.com>
    
    925fbc04d refactored naming in lit testing helper script <> Fri Apr 28 12:16:19 2023 +0200 <> Philipp Samfass <philipp.samfass@amd.com>
    
    07cabbffe refactoring: renamed generated Makefile target from check-cudacxx to check-hipcxx <> Fri Apr 28 11:48:04 2023 +0200 <> Philipp Samfass <philipp.samfass@amd.com>
    
    fcccbd274 renamed CMake target from libcudacxx to libhipcxx <> Wed Apr 26 10:40:14 2023 +0200 <> Philipp Samfass <philipp.samfass@amd.com>
    
    ad5427be0 re-added justification on unsupported test case that got lost previously <> Wed Apr 19 11:56:02 2023 +0200 <> Philipp Samfass <philipp.samfass@amd.com>
    
    53193c398 added justification on why a numerics-related test case is unsupported for HIP <> Fri Apr 14 14:55:08 2023 +0200 <> Philipp Samfass <philipp.samfass@amd.com>
    
    82aeab99e removed thread fence examples <> Fri Apr 21 14:16:12 2023 +0200 <> Philipp Samfass <philipp.samfass@amd.com>
    
    ef095147e added example app for demonstrating safe arithmetic operations to hip examples <> Fri Apr 21 14:14:45 2023 +0200 <> Philipp Samfass <philipp.samfass@amd.com>
    
    ab43cc3a2 added demonstration example for system_clock workaround (C++20, HIP) to CMakeLists.txt <> Fri Apr 21 14:09:03 2023 +0200 <> Philipp Samfass <philipp.samfass@amd.com>
    
    47f9413a9 feat: Fix unsupported tests <> Thu Apr 20 12:12:03 2023 +0000 <> monoatamd <mnorouzi@amd.com>
    
    d20692488 added another now supported test for atomics <> Fri Apr 14 14:10:59 2023 +0200 <> Philipp Samfass <philipp.samfass@amd.com>
    
    0cce5224a disabled two atomics tests which are not supported <> Fri Apr 14 12:32:28 2023 +0200 <> Philipp Samfass <philipp.samfass@amd.com>
    The tests are not supported because of not having
    implemented cuda::std::chrono::system_clock for HIP
    
    b139ae4b1 disabled two unsupported tests <> Wed Mar 15 17:57:24 2023 +0100 <> Philipp Samfass <philipp.samfass@amd.com>
    
    2d92e6441 minor cleanup/cosmetics <> Wed Mar 15 15:14:28 2023 +0100 <> Philipp Samfass <philipp.samfass@amd.com>
    
    cd9cc8a3d cosmetics: replace CUDA by HIP in force_include_hip.h header <> Wed Mar 15 14:49:32 2023 +0100 <> Philipp Samfass <philipp.samfass@amd.com>
    
    ad0862914 cmake: set CUDA compiler ID for hipcc <> Wed Mar 15 09:13:04 2023 +0100 <> Philipp Samfass <philipp.samfass@amd.com>
    
    394ca200d added JIRA ticket that documents missing support for __nanosleep <> Fri Apr 14 10:33:43 2023 +0200 <> Philipp Samfass <philipp.samfass@amd.com>
    
    5dae62fdd bug: Add comment for underaligned types <> Thu Apr 13 13:20:36 2023 +0000 <> monoatamd <mnorouzi@amd.com>
    
    a8ea4ae66 enabled further passing tests <> Thu Apr 20 12:49:38 2023 +0200 <> Philipp Samfass <philipp.samfass@amd.com>
    
    a9aa4980d enabled an additional test that is now supported <> Thu Apr 20 12:19:49 2023 +0200 <> Philipp Samfass <philipp.samfass@amd.com>
    
    363a1e504 Refactored code and initialized sysclock state in constant memory for HIP implementation <> Wed Apr 19 11:05:44 2023 +0200 <> Philipp Samfass <philipp.samfass@amd.com>
    
    5369ff58a Added HIP example to demonstrate the workaround for enabling a system_clock with UNIX time epoch on AMD devices. <> Tue Apr 18 13:26:38 2023 +0200 <> Philipp Samfass <philipp.samfass@amd.com>
    
    0710f9ff7 fixed conversion of host time period to device time period <> Tue Apr 18 13:20:45 2023 +0200 <> Philipp Samfass <philipp.samfass@amd.com>
    
    02d7b3d03 fixed failing chrono test by making the expected-error-re regular expression match the actual error message <> Tue Apr 11 13:28:24 2023 +0200 <> Philipp Samfass <philipp.samfass@amd.com>
    
    83204b404 Disabled static assert in one chrono-related test for ctime for HIP. It fails because of a mismatch in the signatures (return type) of the function definition of clock() in the amd_device_functions.h header file  and the declaration of that function in the time.h system header. <> Tue Apr 11 12:43:12 2023 +0200 <> Philipp Samfass <philipp.samfass@amd.com>
    
    c01f9c3d2 activated chrono-related tests (chrono implementation is WIP) <> Wed Apr 5 14:24:54 2023 +0200 <> Philipp Samfass <philipp.samfass@amd.com>
    
    9680d2163 fixed documentation of system_clock workaround for C++20 and HIP <> Wed Apr 12 12:05:06 2023 +0200 <> Philipp Samfass <philipp.samfass@amd.com>
    
    8bf419543 revised documentation for chrono system_clock workaround that provides UNIX timestamps on the device <> Tue Apr 11 15:23:07 2023 +0200 <> Philipp Samfass <philipp.samfass@amd.com>
    
    d91719e4d Made experimental workaround implementation of system_clock for HIP and C++20 non-default, added documentation and improved error handling. <> Thu Apr 6 16:31:09 2023 +0200 <> Philipp Samfass <philipp.samfass@amd.com>
    
    0e865c3d1 Starting with C++20, system_clock needs to return an UNIX timestamp. This POC implementation of chrono:system_clock relies on obtaining an initial  UNIX timestamp from the host to implement a system_clock that uses  UNIX timestamps on the device. It is a prototype that can be extended  in the future in case UNIX timestamps are needed on the device. <> Wed Apr 5 09:18:59 2023 +0200 <> Philipp Samfass <philipp.samfass@amd.com>
    
    9fa5b0230 switch to more portable wall_clock64 from s_memrealtime <> Tue Apr 18 10:54:22 2023 +0200 <> Philipp Samfass <philipp.samfass@amd.com>
    
    389b490a0 First implementation of system_clock based on s_memrealtime clock (25 MHz on gfx908,gfx90a). This is WIP. It has the limitation that s_memrealtime does not return a UNIX timestamp. Therefore, the implementation is not conforming to the C++20 standard. <> Wed Apr 5 14:26:51 2023 +0200 <> Philipp Samfass <philipp.samfass@amd.com>
    
    f4f0e4dd2 added HIP example for chrono timestamp processing <> Thu Apr 13 16:15:12 2023 +0200 <> Philipp Samfass <philipp.samfass@amd.com>
    
    54ad4f852 feat: test thread_fence <> Wed Apr 12 11:29:57 2023 +0000 <> monoatamd <mnorouzi@amd.com>
    
    77b044578 Added hipified concurrent_hash_table example + basic CMakeLists.txt <> Wed Apr 12 15:30:51 2023 +0200 <> Philipp Samfass <philipp.samfass@amd.com>
    
    d95dfaf38 Created new directory for HIP examples, moved CUDA examples into separate folder and added HIP example for reductions of housing prices (libhipcxx atomics). <> Wed Apr 12 13:18:46 2023 +0200 <> Philipp Samfass <philipp.samfass@amd.com>
    
    85a0c23a0 removed no longer needed echo statement <> Tue Mar 28 12:03:11 2023 +0200 <> Philipp Samfass <philipp.samfass@amd.com>
    
    794259519 This commit adds a --pretty option to the bash testing script for the libhipcxx tests. It is helpful for instance for demonstration purposes. <> Tue Mar 28 11:58:08 2023 +0200 <> Philipp Samfass <philipp.samfass@amd.com>
    
    e620b2553 feat: activated additional atomics-related tests <> Fri Mar 24 15:21:24 2023 +0100 <> Philipp Samfass <philipp.samfass@amd.com>
    
    e92d34090 Select strong or weak CAS based on boolean argument passed to function. Note: this may be further optimized using templates. <> Fri Mar 24 12:47:11 2023 +0100 <> Philipp Samfass <philipp.samfass@amd.com>
    
    9fe35d8e8 Added ticket ID for failing __hip_atomic_fetch_(min/max/or/xor/and) with hipMallocManaged. <> Fri Mar 24 11:04:28 2023 +0100 <> Philipp Samfass <philipp.samfass@amd.com>
    
    5bf604cb1 Feat: added support for heterogeneous atomic tests. FIXME: The __hip_atomic_fetch_(max,min,or,xor,and) builtins are not returning the correct value if the atomic is allocated in managed memory with hipMallocManaged. The corresponding tests have been deactivated until a fix for this issue becomes available. <> Thu Mar 23 18:01:39 2023 +0100 <> Philipp Samfass <philipp.samfass@amd.com>
    
    38d0b5bcc Added a workaround nanosleep implementation as a nanosleep PTX equivalent is missing on AMD CDNA: FIXME: In lack of a clock rate independent nanosleep ISA instruction on gfx90a and gfx908, we use s_memrealtime that runs at a fixed clock rate of 25 MHz to simulate a nanosleep. Each cycle of the 25 MHz clock has a duration of 40 ns, which is the granularity of this method. <> Tue Mar 21 17:22:53 2023 +0100 <> Philipp Samfass <philipp.samfass@amd.com>
    
    6626fd59f fixed compilation macros in two atomics tests <> Tue Mar 21 16:25:40 2023 +0100 <> Philipp Samfass <philipp.samfass@amd.com>
    
    502e9b726 bugfix: alloc device shared mem for 8-byte types <> Thu Mar 16 08:15:08 2023 +0000 <> monoatamd <mnorouzi@amd.com>
    
    8f0296fae minor bug: made two failing chrono-related tests unsupported <> Wed Mar 15 16:12:31 2023 +0100 <> Philipp Samfass <philipp.samfass@amd.com>
    
    50bcde5c7 revert accidental commit of commented tests <> Wed Mar 15 13:38:19 2023 +0100 <> Philipp Samfass <philipp.samfass@amd.com>
    
    42499f9be enabled more atomic tests <> Wed Mar 15 13:21:00 2023 +0100 <> Philipp Samfass <philipp.samfass@amd.com>
    
    db2cb56ec bug: use shred mem for 8-byte types allctd locally <> Wed Mar 15 12:16:55 2023 +0000 <> monoatamd <mnorouzi@amd.com>
    
    93b2e7658 minor bug: fixed compiler warnings CI: enable atomic tests for CI <> Wed Mar 15 08:55:47 2023 +0100 <> Philipp Samfass <philipp.samfass@amd.com>
    
    f9665c56a feat: add atomics, except local_memory_selector <> Mon Mar 13 17:14:56 2023 +0000 <> monoatamd <mnorouzi@amd.com>
    
    3cea4c76d remove nvcc-lit-note and fixed 5 more tests (low-hanging fruits), made two tests that require more investigation unsupported for now <> Mon Mar 13 17:10:20 2023 +0100 <> Philipp Samfass <philipp.samfass@amd.com>
    
    68812befe fixed regex in iterator_traits test for clang-verify <> Mon Mar 13 12:50:12 2023 +0100 <> Philipp Samfass <philipp.samfass@amd.com>
    
    d63e73636 Change back to expected-error from nvcc-lit-error for clang-verify tests, but ignore additional unexpected errors emitted by hipcc for the clang-verify pass. This change fixes .fail.cpp tests that would just fail because of additional unexpected errors (although the expected errors are printed)  with HIP. Yet, some tests are still failing because they do *not* return the expected compiler errors. We need to fix them individually. <> Fri Mar 10 18:47:27 2023 +0100 <> Philipp Samfass <philipp.samfass@amd.com>
    
    a3fa85d04 Disabled a deprecation test for hipcc which fails due to cuda::std::experimental not being declared. This test is not critical for functionality but may have to be revisited at a later point. <> Fri Mar 10 15:02:46 2023 +0100 <> Philipp Samfass <philipp.samfass@amd.com>
    
    60354499a disabled further unsupported tests (latch & atomics) <> Fri Mar 10 14:23:52 2023 +0100 <> Philipp Samfass <philipp.samfass@amd.com>
    
    3e9b54eb5 minor bug: fixed nullptr_t test <> Fri Mar 10 11:06:52 2023 +0000 <> monoatamd <mnorouzi@amd.com>
    
    d11512dd6 made atomics-related tests unsupported as support for atomics hasn't been implemented <> Fri Mar 10 11:55:57 2023 +0100 <> Philipp Samfass <philipp.samfass@amd.com>
    
    9db021f47 feat: add cuda path for tuple, span, array <> Wed Mar 8 13:21:45 2023 +0000 <> monoatamd <mnorouzi@amd.com>
    
    a974b7a5c feat: add cuda path for pairs & heter. tests <> Mon Mar 6 15:42:57 2023 +0000 <> monoatamd <mnorouzi@amd.com>
    
    a9f51fc8c made types.fail.cpp test unsupported as it tests for CUDA-specific compiler behavior <> Thu Mar 2 18:14:07 2023 +0100 <> Philipp Samfass <philipp.samfass@amd.com>
    
    76a995af2 fixed warnings and fixed issues with two tests <> Thu Mar 2 16:46:56 2023 +0100 <> Philipp Samfass <philipp.samfass@amd.com>
    
    03b5b2157 feat: impl. fetch_add and load for int and float <> Thu Mar 2 09:47:07 2023 +0000 <> monoatamd <mnorouzi@amd.com>
    
    9e9c50ecb feat: fix host calls in host device [cmplx number] <> Thu Mar 2 09:19:21 2023 +0000 <> monoatamd <mnorouzi@amd.com>
    
    17be92cca This commit renders several LIT tests unsupported which use APIs that are not yet ported to HIP. We will step-by-step enable those tests again as we add the HIP-support for different APIs to libhipcxx. <> Tue Feb 28 13:39:21 2023 +0100 <> Philipp Samfass <philipp.samfass@amd.com>
    
    774a45d71 feat: complete adding cuda path to build system <> Mon Feb 27 17:39:21 2023 +0000 <> monoatamd <mnorouzi@amd.com>
    
    98e0cf5ce feat: include CUDA compilation path by default <> Fri Feb 24 14:31:35 2023 +0000 <> monoatamd <mnorouzi@amd.com>
    
    02522ddb7 added feature flags for gfx architecture, set feature flags with hipcc for  lit testing correctly <> Fri Feb 24 14:58:54 2023 +0100 <> Philipp Samfass <philipp.samfass@amd.com>
    
    7a82b9441 added CDNA architecture detection to LIT building and testing <> Fri Feb 24 14:07:15 2023 +0100 <> Philipp Samfass <philipp.samfass@amd.com>
    
    c79a7b6b5 set default libstdc++ for stdlib_under_test when using hipcc (https://github.com/RadeonOpenCompute/ROCm_Documentation/blob/master/Programming_Guides/HIP-porting-guide.rst#libc-and-libstdc
    
    ) <> Fri Feb 24 09:37:24 2023 +0100 <> Philipp Samfass <philipp.samfass@amd.com>
    
    48213b720 make CMake abort when trying to enable both CUDA and HIP support <> Thu Feb 23 15:13:28 2023 +0100 <> Philipp Samfass <philipp.samfass@amd.com>
    
    722447544 apply workaround for HIPCC issue, so that all "fake main" functions are compiled for both host and device <> Thu Feb 23 14:53:11 2023 +0100 <> Philipp Samfass <philipp.samfass@amd.com>
    
    629d1b060 1) found workaround for hipcc compilation error where __host__ __device__ declaration is ignored and main function is only compiled for host 2) added workaround to some test files 3) removed libc++ from linking command when compiling with hipcc <> Thu Feb 23 12:11:39 2023 +0100 <> Philipp Samfass <philipp.samfass@amd.com>
    
    9cd70e2c4 Initial modifications to CMake build and lit testing infrastructure (WIP) Lit tests are being built with hipcc, but there are yet compiler errors to fix. <> Wed Feb 22 14:03:37 2023 +0100 <> Philipp Samfass <philipp.samfass@amd.com>
    
    4cf6d2d6a move libcudacxx files into top-level dir <> Thu Nov 28 03:15:55 2024 -0800 <> Philipp Samfass <philipp.samfass@amd.com>
    
    9764f6fc6 refactor: remove further CCCL-specific files that are not needed <> Thu Nov 28 03:13:52 2024 -0800 <> Philipp Samfass <philipp.samfass@amd.com>
    Co-authored-by: default avatarobersteiner <moberste@amd.com>
    Co-authored-by: default avatarpsamfass <psamfass@amd.com>
    Co-authored-by: default avatardomcharrier <docharri@amd.com>
    Co-authored-by: default avatarmonoatamd <mnorouzi@amd.com>
    Co-authored-by: default avatarreger-men <adil.lashab@amd.com>
    4d5d918b